以下这个程序我在300PLC中可以使用
WORD_TO_BLOCK_DB(#DB_NO).(#K):=?%IW(#J);
但是我在1200PLC中却不能使用,为什么?提示函数WORD_TO_BLOCK_DB未定议
最佳答案
使用VARIANT_TO_DB_ANY指令
可以使用“VARIANTtoDB_ANY”指令读取IN参数处的操作数,然后将其转化为数据类型DB_ANY。IN参数属于Variant数据类型,并且代表实例数据块或者ARRAY数据块。创建程序时,不需要知道哪个数据块与IN参数相对应。指令在运行期间读取数据块编号,并将其写入到RET_VAL参数的操作数中。
参考手册:
SIMATICS7S7-1200可编程控制器系统手册
htTPs://suppoRT.induSTry.siemens.com/cs/cn/zh/view/109741593
327页8.7.6.1VARIANT_TO_DB_ANY(将VARIANT转换为DB_ANY)
提问者对于答案的评价:
还没去试,应该可以吧,先谢谢了
专家置评
所选最佳答案不对,S7-1200不支持WORD_TO_BLOCK_DB,参考“宁ゐ玉碎”回答