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