|
邀请回答
马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册 ![](source/plugin/zhanmishu_wechat/template/static/img/wechat_login.png)
x
在编写功能块或函数时,会有这样的情况,我们需要把连续或有规律间隔的若干个软元件作为输入参数,目前只能一个软元件对应一个参数,很不方便。
比如需要将连续10个bool类型的软元件作为输入参数,而这些软元件可能从M0开始,也可能从M100开始,这样功能块或函数就必须定义10个IN参数,调用时也必须填写10个参数,很不方便。
当然也可以通过数组型IN参数实现,但是若需要多次调用功能块或函数,每次用到的软元件又不一样,那就必须定义多个数组,同样很不方便。
也可以用指针型IN参数实现,将指向第一个软元件的指针作为参数传入功能块或函数,在功能块或函数内通过操控指针的值实现对其他软元件的操控,这与用数组型IN参数一样需要预先定义指针变量,调用时还必须先给指针赋值,同样很麻烦。
那么H5U能否提供获取地址或组建临时数组的操作符,在遇到这种情况时就不用定义这些可能只使用一次的数组变量或指针变量了。
可以用"^"作为获取地址的操作符。^M5就表示指向M5的指针,^D8就表示指向D8的指针。
可以用{首个软元件,软元件数量}作为一个临时数组。{M5,5}表示由M5、M6、M7、M8、M9五个软元件组成的数组;{D10,4}表示由D10、D11、D12、D13四个软元件组成的数组,可以匹配长度为4的INT型数组或长度为2的DINT型数组或长度为2的REAL型数组,甚至可以匹配有类型分别为INT、DINT、INT的三个变量组成的序列。
当然也可以用其他符号作为操作符。
有了这种操作符在遇到类似的情况时编写程序时就比较简洁,也比较直观,还能提高程序的灵活性。 |
上一篇: H1U系列PLC通过canlink的主站从站连接问题下一篇: canlink配置问题2
|