下面是在SCL语言中编写的FB块内的两句程序,ADDRESS是FB块的输入变量(int型);I1、I2是两个输出变量(实数型)。如果输入变量的值是10的话,这两句的意思是把input IW10转换成实数型赋值给I1, 把input IW12转换成实数型赋值给I2.
I1 := INT_TO_REAL(WORD_TO_INT(IW[ADRESS])) ; // Current (A)
I2 := INT_TO_REAL(WORD_TO_INT(IW[ADRESS + 2])); // Current (A)
这样的编程只能在SCL里才能实现吗,在PCS7中是否也有相应的功能块,把地址 IW xxx用逻辑的方式表达出来,然后连接至某个管脚。
我尝试了很长时间,一直没有找到类似的功能块,请大侠们给解决一下,多谢了!
问题补充:
一直没有得到满意的回答,做个补充吧,在SCL中使用的中括号[], 在STL中就不可以使用,是什么原因呢?
图片说明:
最佳答案
PCS7的CFC编程直接实现你的功能有些困难,但可以通过你的SCL编程,做一个功能块在CFC中调用。将你的IW[ADDRESS+X]作为OUTPUT 输出管脚,将I1等作为INPUT输入管脚。这样就可以将其他的相关的变量互联即可了!
提问者对于答案的评价:
这样的话来说,PCS7中没有相应的标准块,还是需要自己在SCL里面来写。
专家置评
在STL中就不可以使用IW[ADRESS],这种寻址方式要用指针的方式比如:IW[AR1,P#2.0]
在PCS7中是有相应的基本指令块的
比如:I_R
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc163098.html