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

本文主要是介绍基于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运行时—>下装到夹爪中 最终效果如下图

这篇关于基于AnyControl环境下ModBusRTU通信协议的夹爪控制算法库封装与调用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/728243

相关文章

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务