施耐德Unity通过Modbus控制变频器

硬件设备

PLC: Unity Premium  (CPU:TSX P57154)

通讯卡: TSX SCP 114

连接电缆: TSX SCP CM 4030

VSD: ATV 58

硬件连接

Unity Premium  (CPU: TSX P57154)本身不带Modbus接口,因此,采用TSX SCP 114扩展一个Modbus接口。TSX SCP 114是一个RS-485接口卡,在Unity Premium中可以配置成Modbus/Jbus协议。TSX SCP 114插在CPU上的扩展槽内。

施耐德的VSD产品标准配置都带有Modbus接口。接口的位置在变频器的面板上,拔下操作面板就可以看见一个九针D型连接头,它同时也是操作面的接口。

VSD所带的D型连接头是母头。因此需要九针D型公头作连接头。如图1所示。接线时只需要连接3脚与7脚即可。

  • 软件编程

    TSX SCP 114的配置:

    将Unity Premium扩展槽的保护盖移去,将TSX SCP 114插入扩展槽内,用力插到底,并将固定螺丝拧紧。

    在Unity软件中,双击硬件配置中的扩展接口的图标,配置TSX SCP 114通讯卡。如图3所示配置通讯的参数。

  • 读写指令:

    在Unity Premium中使用READ_VAR(读指令),WRITE_VAR(写指令)命令对通讯口进行读写。读写格式如下:

    WRITE_VAR(Address,Object_Type,First_Object,Object_Number,Data_to_Write,Management_Param);READ_VAR(Address,Object_Type,First_Object,Object_Number,Data_to_Read,Management_Param );现以写变频器的400开始的3个寄存器为例,详细说明读写命令的编程方法。WRITE_VAR(Add(‘0.0.1.5’),’%MW’,400,2,%MW121:3,%MW131:4);

    • Add(‘0.0.1.5’):通讯的通道号和Modbus站号,第一个‘0’表示机架号,第二个‘0’表示模块所在的槽位,‘1’表示通道号,‘5’表示变频器的Modbus子站地址。
    • ‘%MW’:表示通讯的类型为‘字‘
    • 400:表示写变频器的寄存器的起始地址
    • 3:表示写3个字,即写400,401,402三个寄存器
    • %MW121:3:表示将%MW121开始的3个字表的值写入变频器,表的长度必须与写入的寄存器的数量一致
  • %MW131:4:表示将通讯的诊断字写入%MW131开始的4个字的字表。字表的长度是固定的4个字。

注意事项

编译错误信息:

在Unity的默认配置下,在程序中不能使用字表,如%MW220:2等在程序中都不能被接受为合法的输入。在程序中会以红色的波浪线标示出来。在编译时会出现如图5所示的错误。

 

解决方法:

在Unity软件菜单中tools/project settings下设置Language extensions选项卡。如图6所示,确定选中红色圈中的选项:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/106561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NumPy 基础知识

数据类型 数组类型之间的转换 NumPy支持比Python更多种类的数字类型。本节显示了哪些可用,以及如何修改数组的数据类型。 支持的原始类型与 C 中的原始类型紧密相关: Numpy 的类型C 的类型描述np.boolbool存储为字节的布尔值(True或False)np.bytesigned char平台定义np.…

【已解决】No Python at ‘D:\Python\python.exe‘

起因,我把我的python解释器,重新移了个位置,导致我在Pycharm中的爬虫项目启动,结果出现这个问题。 然后,从网上查到了这篇博客: 【已解决】No Python at ‘D:\Python\python.exe‘-CSDN博客 但是,按照上述…

【Docker】命令使用大全

【Docker】命令使用大全 目录 【Docker】命令使用大全 简述 Docker 的主要用途 基本概念 容器周期管理 run start/stop/restart kill rm pause/unpause create exec 容器操作 ps inspect top attach events logs wait export port 容器 rootfs 命令 c…

SpringSecurity源码学习三:认证

目录 1. 认证步骤2. 认证2.1 WebSecurityConfigurerAdapter配置介绍2.2 使用UsernamePasswordAuthenticationFilter登录认证2.2.1 UsernamePasswordAuthenticationFilter源码2.2.1.1 ProviderManager源码 2.2.2 认证流程总结 2.3 自定义登录认证代码示例2.3.1 认证流程总结 1. …

php的加密方式汇总

一、单列散列函数加密 1.md5()一般用于密码的不可逆加密 2.password_hash() //密码加密 $password 123456; $passwordHash password_hash($password,PASSWORD_DEFAULT,[cost > 12] );//密码验证 if (password_verify($password, $passwordHash)) {//Success } else {//…

8.Covector Transformation Rules

上一节已知,任意的协向量都可以写成对偶基向量的线性组合,以及如何通过计算基向量穿过的协向量线来获得协向量分量,且看到 协向量分量 以 与向量分量 相反的方式进行变换。 现要在数学上确认协向量变换规则是什么。 第一件事:…

前端小案例 | 一个带切换的登录注册界面(静态)

文章目录 &#x1f4da;HTML&#x1f4da;CSS&#x1f4da;JS &#x1f4da;HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sc…

紫光同创FPGA实现UDP协议栈网络视频传输,基于YT8511和RTL8211,提供4套PDS工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的以太网方案紫光同创FPGA精简版UDP方案紫光同创FPGA带ping功能UDP方案 3、设计思路框架OV7725摄像头配置及采集OV5640摄像头配置及采集UDP发送控制视频数据组包数据缓冲FIFOUDP协议栈详解RGMII转GMII动态ARPUDP协议IP地址、端口…

postgresql|数据库|恢复备份的时候报错:pg_restore: implied data-only restore的处理方案

一&#xff0c; 前情回顾 某次在使用pg_dump命令逻辑备份出来的备份文件对指定的几个表恢复的时候&#xff0c;报错pg_restore: implied data-only restore 当然&#xff0c;遇到问题首先就是百度了&#xff0c;但好像没有什么明确的解决方案&#xff0c;具体的报错命令和…

SpringData MongoDB学习总结

目录 一、简介 二、搭建 三、操作 &#xff08;1&#xff09;、集合操作 &#xff08;2&#xff09;、文档操作 相关注解 POJO 添加文档 查询文档 更新文档 删除文档 聚合操作 一、简介 NoSql数据库 键值对key-value 存储redis用户缓存&#xff0c;用户信息回话&a…

【深度学习 | Transformer】释放注意力的力量:探索深度学习中的 变形金刚,一文带你读通各个模块 —— Positional Encoding(一)

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

kettle应用-从数据库抽取数据到excel

本文介绍使用kettle从postgresql数据库中抽取数据到excel中。 首先&#xff0c;启动kettle 如果kettle部署在windows系统&#xff0c;双击运行spoon.bat或者在命令行运行spoon.bat 如果kettle部署在linux系统&#xff0c;需要执行如下命令启动 chmod x spoon.sh nohup ./sp…

C#控制台程序读取输入按键非阻塞方式

参考内容&#xff1a; http://www.dutton.me.uk/2009-02-24/non-blocking-keyboard-input-in-c/ 相关代码&#xff1a; while (true) {if (Console.KeyAvailable){ConsoleKeyInfo key Console.ReadKey(true);switch (key.Key){case ConsoleKey.F1:Console.WriteLine("Y…

【计算机网络笔记】分组交换 vs 电路交换

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 系列文章目录 以一个具体的场景为例&#xff1a;N个用户共享这个1M bps链路。假设每一个用户活动时需要的链路带宽是100kb/s&#…

视频监控系统/安防视频平台EasyCVR广场视频细节优化

安防视频监控系统/视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防视频汇聚平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;可实现视频监控直播、视频轮播、…

Maven 使用教程(二)

一、如何创建JAR并将其安装在本地存储库中&#xff1f; 制作JAR文件非常简单&#xff0c;可以通过执行以下命令来完成&#xff1a; mvn package现在可以查看${project.basedir}/target目录&#xff0c;您将看到生成的JAR文件。 现在&#xff0c;您需要将生成的工件&#xff0…

华为9.20笔试 复现

第一题 丢失报文的位置 思路&#xff1a;从数组最小索引开始遍历 #include <iostream> #include <vector> using namespace std; // 求最小索引值 int getMinIdx(vector<int> &arr) {int minidx 0;for (int i 0; i < arr.size(); i){if (arr[i] …

spring boot Rabbit高级教程

消息可靠性 生产者重试机制 首先第一种情况&#xff0c;就是生产者发送消息时&#xff0c;出现了网络故障&#xff0c;导致与MQ的连接中断。 为了解决这个问题&#xff0c;SpringAMQP提供的消息发送时的重试机制。即&#xff1a;当RabbitTemplate与MQ连接超时后&#xff0c;…

【git】500 Whoops, something went wrong on our end.

在访问公的的git 时出现了500错误提示. 500 Whoops, something went wrong on our end. 哎呀&#xff0c;我们这边出了问题。 TMD 出了什么问题了&#xff1f;&#xff1f;&#xff1f;一脸懵逼。 登录git 服务器。 查看git的状态。 命令&#xff1a; gitlab-ctl statu…

互联网Java工程师面试题·Java 总结篇·第一弹

目录 1、面向对象的特征有哪些方面&#xff1f; 2、访问修饰符 public,private,protected,以及不写&#xff08;默认&#xff09;时的区别&#xff1f; 3、String 是最基本的数据类型吗&#xff1f; 4、float f3.4;是否正确&#xff1f; 5、short s1 1; s1 s1 1;有错吗…