当前位置: 主页 > PLC控制

S5升级S7关于OB190的转换问题

原S5程序中的一段
:CDB100
:LKY100,112
:LKB10
:JUOB190
:***

请问这一段是什么意思?如何转换?查手册OB190用SFC20替换,可SFC20需要参数,该如何设置呀?

急啊。

问题补充:
谢谢阿鸣,你的答案让我解决了问题,但经过测试,这段语句的意思是将KY100到KY112连续拷贝到DB100中,从DB100的第10个字节开始存储。

最佳答案

1、S5的OB19,OB192对应S7的SFC20BLKMOV(复制存储区域)。它们的功能是传送标志到数据块(TransferflagSTodatablocks)。
2、可SFC20需要参数,该如何设置呀?
使用SFC20“BLKMOV”(块移动)可将存储器区(=源区域)的内容复制到另一个存储器
区(=目标区域)。
以下为允许的源区域:
.部分数据块
.存储位
.输入的过程映像分区(部分过程映像)
.输出的过程映像分区(部分过程映像)
源参数可以是与程序执行无关的装载存储器中数据块(用关键字UNLINKED编译的数据块)的一部分。
参数:
参数SRCBLK:声明INPUT,数据类型ANYI、Q、M、D、L,说明指定被复制的存储区(源区域)。不允许指定STRING类型的数组。
参数RET_VAL:声明OUTPUT,数据类型INTI、Q、M、D、L,说明在功能执行时如有故障发生,此参数值中包含故障代码。
参数DSTBLK:声明OUTPUT,数据类型ANYI、Q、M、D、L,说明指定要将数据复制到的存储区(目标区域)。不允许指定STRING类型的数组。
3、应用实例:
其SRCBLK与DSTBLK的类型是ANY的,是用指针表示的.其中一种表示方法:P#[数据块.]位地址类型号重复系数.如:P#M50.0BYTE8就是从MB50开始8个字节的长度的数据.
CALLSFC20
SRCBLK:=P#M50.0BYTE8
RET_VAL:=MW80
DSTBLK:=P#M100.0BYTE8
4、这一段是什么意思?如何转换?
是将DB100的第100个字节开始的10字节数据送入第112个字节开始的10字节中。
程序为:
OPNDB100
CALLSFC20
SRCBLK:=P#M100.0BYTE10
RET_VAL:=MW80
DSTBLK:=P#M112.0BYTE10
5、SFC20相关文档:
<S7-300400的系统软件和标准功能>下载
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1023.pdf

提问者对于答案的评价:
转换成S7程序应为:
OPNDB100
CALLSFC20
SRCBLK:=P#M100.0BYTE13
RET_VAL:=MW80
DSTBLK:=P#DBX0.0BYTE13
谢谢阿鸣!

  • 关注微信

猜你喜欢

微信公众号