恭喜,你发布的帖子
发布于 2018-08-26 08:35:54
6楼
搞不清楚,就不要用嘛!
前几天已经说过了,SCL语言是高级语言,是不会有对地址寄存器,累加器进行操作的指令的,ANY指针涉及对地址寄存器的操作,所以就不再支持了。
为啥以前STEP 7支持呢?是因为以前STEP 7无论是什么指令,最终的编译器都是STL语言,其实那时候ANY指令操作就不是SCL,而是STL。但现在,无论LAD,STL,SCL都是独立的编译器,SCL作为高级语言肯定是不支持低级的寄存器累加器的操作了。
谢谢Z版的提点!
我实际情况是这样的。
应用要做一个FC/FB来读写变频器的一致性数据(PN/DP通讯控制)要求FC/FB接口直接做好控制参数以及输出参数,也就是说把写入变频器的28个BYTE全部定义好数据架构通过INPUT接口输入FC/FB,然后通过FB/FC处理以后直接通过SFC14/15写入变频器,同样变频器的状态通过FB/FC的OUTPUT直接输出显示变频器的状态。
要求这个FB/FC通用,本来想在FC/FB的接口除了变频器的控制参数以及状态参数以外只留一个读写开始的数据接口Address FC/FB内部全部使用TEMP变量来作为中间变量。所以把输入数据通过逻辑处理以后写入L数据区然后再通过DPWR_DAT写入变频器,同样DPWR_DAT读取的变频器状态到L数据区进行逻辑处理以后在输出到output接口。
在STL我是这样使用的。在SCL还没有想到什么办法。目前只只能够 通过建立很多的数据块来解决这个问题,例如 变频器1 的P#DB1.DBX0.0 BYTE 28
在STL就可以节约了这个DB。不过我认为应该是我有什么地方没有注意到。还请多多指教。。。。
谢谢!!
请填写推广理由:
分享
只看
楼主