1200PLC编程时,同样是16个位,怎样把数组转换为INT?

PLC编程时,对DP通信的变频器控制字1采用数组类型,0-15位,分别控制,而不直接使用047E 047F,这样的话,怎样把数组变量转换为INT?用的是TIA V13 SP1 ,PLC是1215C V4.1

问题补充:
说说我的期望,一个项目会有很多的变频器,而其中几个变频器我还用的自由报文,改过默认控制字,所以必须做成块FC,(常用的047E 047F不方便,换算麻烦),像USS通信的块一样,OFF1 OFF2 OFF3 FACK 反转 禁止负频率等,都做个一个FC里面,里面全是形参,需要时调用就行,填写对应的实参。但是,昨天我查过AT覆盖,好像要求是不能覆盖已在接口中声明为参数的 PLC 结构化的变量,应该是FC FB吧,所以我觉得AT覆盖实现不了

最佳答案

不明白的你的意思,但是给你看几个变量的用法!也许能解答你的要求!
AT 覆盖变量
用户程序要访问声明变量内的数据区域,可以通过附加声明来覆盖所声明的变量。 这样,可以选择对不同数据类型的已声明变量进行寻址。例如,可以使用 BOOL 的 ARRAY 对 WORD 数据类型变量的各个位寻址。
要覆盖变量,直接在待覆盖的变量后声明附加变量,并用关键字“AT”加以标识
对于变量覆盖可适用以下通用规则:
·         在 STL、LAD、FBD 和 GRAPH 中,S7-1200 和 S7-1500 允许变量覆盖。
·         SCL 支持在所有 CPU 系列中覆盖。
·         可以在以下块中覆盖变量:
o    在标准访问的代码块中
o    在可优化访问具有保留设置“在 IDB 中设置”的变量的代码块中
·         覆盖变量数据宽度必须小于等于被覆盖变量的数据宽度。
·         不可以覆盖 VARIANT 和 INSTANCE 数据类型的变量。
·         无法覆盖库中声明为接口中参数的块。
·         无法覆盖接口中声明为参数的结构化 PLC 变量
S7-1200/1500: 在 FC 中使用 AT
对于 S7-1200/1500 中的 FC,覆盖变量和被覆盖变量的数据长度必须相同。如果无法通过程序实现,则可通过 .X、.B、.W 或 .D 语法对现有变量中的区域进行寻址。

图片说明:

1200PLC编程时,同样是16个位,怎样把数组转换为INT?  

提问者对于答案的评价:
按照你的方法,确定AT可用,在FC里面,已经满足需求,非常感谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc173586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月13日 下午6:50
下一篇 2017年6月13日

相关推荐