我想编一个SMART200的库,需要100个实数,我怎样编才能实现我在管脚输入“&VB0",就代表调用从VB0--VB399的100个实数啊。这个功能应该是可以实现的,比如Modbus主站,读来的数据存入的地址就是“&VB2000" 的格式。 1200和1500一样的功能我编好了,因为博图100个实数可以定义为数组。SMART200不能定义数组。
最佳答案
库中子程序变量表中定义一个DWORD数据类型IN参数,用来存放间接寻址的指针
在程序中通过指针来访问这100个实数即可
然后把&VB0(第一个实数的存储区的地址)赋值给这个参数
访问实数(双字)时,指针值加 4
S7-200 SMART 间接寻址
https://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/programming/indirect_addressing.html
提问者对于答案的评价:
谢谢你的回答,非常正确,按照你的方案,我很快搞好了。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc280905.html