恭喜,你发布的帖子
发布于 2021-05-17 21:14:52
3楼
DB_Source_NO : Int; DB_Source_Address : Int; DB_Target_NO : Int; DB_Target_Address : Int;
在你定义了DB块号 和DB起始地址,则说明你首先已经定义且生成好了DB块,
那是否可以简单一些。
DB_Source_data :array[1..NO] OF Int; //定义WORD 型数据 为 NO 为个数
DB_Target_data :array[1..NO] OF REAL; //定义REAL 型数据 为 NO 为个数
FOR i:= 1 TO NO BY 1 DO
DB_Target_data[i]:= INT_TO_REAL(WORD_TO_INT(DB_Source_data[i]));
END_FOR;
可以用UDT 自定义DB_Source_data和DB_Target。
然后调用SFC20 即可。
你觉得是否书写和理解更清晰一下。
一般最好不要用
WORD_TO_BLOCK_DB(INT_TO_WORD(#DB_Target_NO)).DD(#DB_Target_Address + #i * 4);
这种格式,容易出错,不是编译过去就是一定是正确运行的。
个人建议。
请填写推广理由:
分享
只看
楼主