展开查看
以下是引用dudongdong在2015-05-08 10:29:58的发言 >4楼:楼主的问题一言两语很难回答,只能肯定的是
1:FC的输入参数如果是复杂的数据类型,是不能传递给“被调FC"的。
2:FB的输入参数如果是复杂的数据类型,是可以传递给”被调FC“的。
3:数组变量只能在DB和临时变量里面建立
4:数组的访问只能是符号访问。DB62.ByteArray这种写法是不标准的,DB62需要在符号表里命名。比如命名为data,那么赋实参的时候就输入”data".ByteArray。
谢谢回复!
昨天咨询了西门子工程师,说稍后回复。
1、FC 可以传送 Array(见截图,也正常运行);而且在 LAD编辑器的输入也有 Array 格式;
2、FB 输入参数可以用 Array;
3、数组是 DB块里建立的,满足要求 (见截图);
4、“DB62.ByteArray” 这种格式,我想是可以的(如果格式正确,DB62自动转换为符号),实际上因为符号有时候用中文,感觉不太好,就用这格式;另:如果是上传的程序,是没有符号的,是光溜溜的 “DB62.ByteArray”。
5、实际项目已在FC3直接调用FC61了, 不存在 “两次传递” 问题。就是想知道答案;