基于AnyControl环境下ModBusRTU通信协议的夹爪控制算法库封装与调用

1、首先打开anycontrol软件,新建一个库工程—>用户库

2、工程管理树—>程序组织单元—>新建一个POU,POU的语言、类型以及名称可以根据自己的需要进行更改

3、这里我在一个程序组织单元下面建立两个脚本一个是控制夹爪开关的,另一个是判断夹爪是否开关完毕的。

3、由上图我们可以看到我一共定义了4类(w、r、x、d)十二种变量(wn、rn、xn、dn;n=1,2,3),其中w,r为全局变量这是为了以后modbusrtu的从站IO口的变量映射做准备,而x,d为输入变量作为可被赋值的变量展现给用户。其中变量w与变量x代表写寄存器的变量,变量r与变量d代表读寄存器的变量

做到这里基本基本上我们的用户库就封装结束了,下面是调用过程。这里要注意的是我们封装的用户库是一个算法库。

4、首先我们还是新建一个工程—>工程管理树—>程序组织单元—>新建POU(我选择的是cfc、st这两个)—>配置com口—>配置modbusrtu主站和从站;此步骤详情请参考我的上一篇博客phttp://t.csdn.cn/s3Dl1 

与之前不同的是从站的配置,这里我们不在需要配置初始化指令配置,而是需要设定一下基本配置和设定读写两个通道指令配置,另外,还需要配置IO映射配置:将通道0(写寄存器通道)的三个寄存器通道分别命名为w1、w2、w3,并勾选上映射;将通道1(读寄存器通道)的三个寄存器通道分别命名为r1、r2、r3,并勾选上映射;这里我们会发现我们给这六个寄存器定义的变量与之前我们封装用户库的时候定义的全局变量的名称是相同的,这是因为配置IO映射配置时,需要使用同一个变量时需要进行映射操作,而映射的作用是,只有映射了算法库的全局变量,我才可以通过算法库对IO进行读写操作。

 5、上述操作完成后,工程的基本配置就完成了,接下来需要将我们封装好的用户库添加到算法库中:工程管理树—>双击库管理—>点击添加,找到刚才刚才封装用户库的存储路径,将其添加进来就可以了

添加成功可以在右侧的算法库任务栏找到我们封装好的库,同时可以在库管理器中看到封装好的库的变量信息和图形信息

 接下来我们对算法库进行调用,直接将我们封装好的库从算法库中拖拽到POU中即可

ST格式:

CFC格式:

接着进行编译—>运行windows运行时—>下装到夹爪中 最终效果如下图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值