S7 300/400 的一些功能和技巧之数据块拷贝

已锁定

大本

  • 帖子

    228
  • 精华

    1
  • 被关注

    2

论坛等级:游士

注册时间:2008-02-21

普通 普通 如何晋级?

S7 300/400 的一些功能和技巧之数据块拷贝

782

2

2008-03-14 23:17:38

数据块拷贝
FUNCTION FC 100 : VOID
TITLE =
//DB BLOCK COPY
AUTHOR : AXG
NAME : DBBTODBB
VERSION : 0.1


VAR_INPUT
SOU_DB : INT ; //SOURCE DB NUMBER
LENG : INT ; //HOW MANY TO COPY
DES_DB : INT ; //DESTINATION DB NUMBER
END_VAR
VAR_TEMP
SOURCE : ANY ;
DEST : ANY ;
END_VAR
BEGIN
NETWORK
TITLE =

LAR1 P##SOURCE; // Load the start address of the ANY pointers in AR1.
L B#16#10; // Load the syntax ID and
T LB [AR1,P#0.0]; // transfer it to the ANY pointer.
L B#16#4; // Load data type WORD and
T LB [AR1,P#1.0]; // transfer it to the ANY pointer.
L #LENG; // Load HOW MANY WORDS and
T LW [AR1,P#2.0]; // transfer them to the ANY pointer
L #SOU_DB; // Source is DB[?], DBB0.0
T LW [AR1,P#4.0]; //
L P#DBX 0.0; //
T LD [AR1,P#6.0]; //
LAR1 P##DEST; //Load the DESTINATION address of the ANY pointer in AR1.
L B#16#10; //Load the syntax ID and
T LB [AR1,P#0.0]; //transfer it to the ANY pointer.
L B#16#4; //Load data type WORD and
T LB [AR1,P#1.0]; //transfer it to the ANY pointer.
L #LENG; //Load HOW MANY WORDS and
T LW [AR1,P#2.0]; //transfer them to the ANY pointer.
L #DES_DB; //Destination is DB{?}, DBB0.0
T LW [AR1,P#4.0];
L P#DBX 0.0; //
T LD [AR1,P#6.0]; //
CALL "BLKMOV" (//Call the block move system function
SRCBLK := #SOURCE,//
RET_VAL := MW 210,//Evaluate the BR bit and MW 210
DSTBLK := #DEST);//


END_FUNCTION


使用说明:可直接调用,#SOURCE---源数据块号
#DEST------目标数据块号
#LENG----要拷贝数据的长度
转载自:《Siemens PLC论坛》
S7 300/400 的一些功能和技巧之数据块拷贝 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。