找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
FUNCTION FC 2 : INT
TITLE =
//利用ANY指针进行数据复制。
//源数据区和目标数据区使用“数据块号”、“数据起始地址”、“传输字节数”来区分。
//FC2根据“数据块号”、“数据起始地址”、“传输字节数”来分配ANY指针。
VAR_INPUT
QDB : INT ; //源数据块
SSTA : INT ; //源起始地址
NUMB : INT ; //传输字节数
DDB : INT ; //目标数据块
DSTA : INT ; //目标起始地址
END_VAR
VAR_TEMP
SANY : ANY ; //源ANY指针
DANY : ANY ; //目标ANY指针
END_VAR
BEGIN
NETWORK
TITLE = "分配源指针"
L W#16#1002; //类型:字节(修改ANY指针可以更改数据类型)
T LW 0;
L #NUMB; //传输字节数目
T LW 2;
L #QDB; //源数据块
T LW 4;
L #SSTA; //源起始地址
SLD 3;
OD DW#16#84000000;
T LD 6;
NETWORK
TITLE = "分配目标指针"
L W#16#1002; //类型:字节
T LW 10;
L #NUMB; //传输字节数目
T LW 12;
L #DDB; //目标数据块
T LW 14;
L #DSTA; //目标起始地址
SLD 3;
OD DW#16#84000000;
T LD 16;
NETWORK
TITLE = "复制数据"
CALL "BLKMOV" (
SRCBLK := #SANY,
RET_VAL := #RET_VAL,
DSTBLK := #DANY);
END_FUNCTION
L 10
T LW2 //要传送的字节长度,例如10个字节
L 100
T LW4 //写入DB号:100
L P#DBX0.0
T LD6 //写入传送的起始地址,在此处你可以根据你的需要将不同地址写入,比如满足条件A,写入P#DBX0.0,满足条件B,写入P#DBX4.0
上面的语句写完后,你就可以将你建立的TEMP变量填入SFC20的源地址了。
转自zengzy
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!