基于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

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

使用Go调用第三方API的方法详解

《使用Go调用第三方API的方法详解》在现代应用开发中,调用第三方API是非常常见的场景,比如获取天气预报、翻译文本、发送短信等,Go作为一门高效并发的编程语言,拥有强大的标准库和丰富的第三方库,可以... 目录引言一、准备工作二、案例1:调用天气查询 API1. 注册并获取 API Key2. 代码实现3

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python如何调用另一个类的方法和属性

《Python如何调用另一个类的方法和属性》在Python面向对象编程中,类与类之间的交互是非常常见的场景,本文将详细介绍在Python中一个类如何调用另一个类的方法和属性,大家可以根据需要进行选择... 目录一、前言二、基本调用方式通过实例化调用通过类继承调用三、高级调用方式通过组合方式调用通过类方法/静