汇川AM402、H3U和上位机C#ModebusTcp通讯

article/2025/10/28 23:34:34

目录

一、测试任务

二、测试环境

三、PLC工程

1、组态配置

2、ip地址、端口号

 3、全局变量定义

四、C#端Winform程序创建

1创建主界面

 2、创建子窗口

 3、运行生成,界面效果

4、Modebus协议说明

5、Modebus操作说明

六、AM402测试

1、寄存器读测试

 2、MW1300寄存器的BIT位

3、写寄存器测试

4、PLC断电或者断网后重新连接

 七、H3U读写测试

1、读寄存器测试

2、写寄存器测试

八、工程下载连接


一、测试任务

1、PLC作为ModebusTCP端,端口号都是502,PC端上位机软件作为TcpClient去连接多台PLC。PC端读写PLC寄存器。

2、PC端在有的PLC断电、断网的情况下,界面不会阻塞卡死,对其它PLC读写正常。在断网的PLC重新连接网络可以手动连接。

二、测试环境

1、AM402系列PLC设备:汇川AM402,编程软件InProShop(v1.7.3)

2、H3U系列PLC设备:会场H3U-322MT,编程软件AutoShop v4.6.3

3、PC端:Win10系统、VS2013编程软件。

备注:①通讯协议方面AM402和H3U是一样的,上位机代码通用。

②MW寄存器对应D寄存器,比如MW1000则对应D1000。需要注意的是MW寄存器范围是0-65535、D寄存器范围 ±32768。

一次最多可以读123个寄存器操作。

三、PLC工程

1、组态配置

2、ip地址、端口号

192.168.1.88

502

 3、全局变量定义

VAR_GLOBALStateArray 		AT%MW1300 		:ARRAY[1..200]	OF	WORD;_MW1300Bit0  	AT %MX2600.0	:BOOL;_MW1300Bit1  	AT %MX2600.1	:BOOL;_MW1300Bit2  	AT %MX2600.2	:BOOL;_MW1300Bit3  	AT %MX2600.3	:BOOL;_MW1300Bit4  	AT %MX2600.4	:BOOL;_MW1300Bit5  	AT %MX2600.5	:BOOL;_MW1300Bit6  	AT %MX2600.6	:BOOL;_MW1300Bit7 	AT %MX2600.7	:BOOL;_MW1300Bit8		AT %MX2600.8	:BOOL;_MW1300Bit9  	AT %MX2600.9	:BOOL;_MW1300Bit10  	AT %MX2600.10	:BOOL;_MW1300Bit11  	AT %MX2600.11	:BOOL;_MW1300Bit12  	AT %MX2600.12	:BOOL;_MW1300Bit13  	AT %MX2600.13	:BOOL;_MW1300Bit14  	AT %MX2600.14	:BOOL;_MW1300Bit15  	AT %MX2600.15	:BOOL;_MW860			AT%MW860		:WORD;_MW861			AT%MW861		:WORD;_MW862			AT%MW862		:WORD;_MW863			AT%MW863		:WORD;_MW864			AT%MW864		:WORD;_MW865			AT%MW865		:WORD;_MW866			AT%MW866		:WORD;_MW867			AT%MW866		:WORD;_MW868			AT%MW866		:WORD;	END_VAR

四、C#端Winform程序创建

1创建主界面

在主界面中添加两个Panel控件,用以加载两台PC的Client窗口界面。使用Panel的优点是,对于多台PLC设备,只需要创建一个子窗口加载到多个Panel控件中即可。

 2、创建子窗口

 3、运行生成,界面效果

4、Modebus协议说明

 注意:批量读寄存器,尽量不要太多,一般一次最多123个

            //MBAP报文头//buffer[0]  事务处理标识符Hi//buffer[1]  事务处理标识符Lo//buffer[2]  协议标识符 0x00//buffer[3]  协议标识符 0x00//buffer[4]  长度//buffer[5]  长度   即从buffer【6】--校验符前的长度//buffer[6]  单元标识符 建议:在采用0xFF作为“单元标识符”的无效值//请求数据//buffer[7]  功能码(0x03) 读多个寄存器//buffer[8]  起始地址//buffer[9]  起始地址//buffer[10] 寄存器数量1至125(0x7D)//buffer[11] 寄存器数量1至125(0x7D)

5、Modebus操作说明

批量读寄存器

        /// <summary>/// 读取批量寄存器值:122个寄存器 1300-1421/// </summary>/// <returns></returns>public byte[] ReadMultiCmd(){readbuffer[5] = 0x06;           // 长度readbuffer[7] = 0x03;           //功能码readbuffer[8] = 0x05;           //起始地址-高位readbuffer[9] = 0x14;           //起始地址-低位readbuffer[10] = 0x00;readbuffer[11] = 0x7A;          //122个寄存器 1300-1422return readbuffer;}

写单个寄存器

        /// <summary>/// MW860写值/// </summary>/// <param name="value"></param>/// <returns></returns>public byte[] Write_MW860(int value){writebuffer[5] = 0x06;          // 长度writebuffer[7] = 0x06;          //功能码    writebuffer[8] = 0x03;          //起始地址-高位writebuffer[9] = 0x5C;          //起始地址-低位 d860 writebuffer[10] = 0x00;         //寄存器值writebuffer[11] = (byte)value;return writebuffer;}

封装Tcp Client类,接收和发送缓冲区设置大一点

 定义存储接收数据的长度

六、AM402测试

PLC只有一台。

1、寄存器读测试

读寄存器范围:mw1300-mw1500

给MW1300-MW1306如下赋值

 C#读取到的值

 2、MW1300寄存器的BIT位

3、写寄存器测试

写寄存器范围:mw860-mw868

C#端写操作

 PLC端接收到的

4、PLC断电或者断网后重新连接

PLC重新上电后接入网络,只需要点击重新连接按钮即可。

 七、H3U读写测试

1、读寄存器测试

读123个存器,从D1300到D1422

2、写寄存器测试

写寄存器,单个寄存器写操作

八、工程下载连接

1、AM402测试程序

 分别是Winform程序PLC程序,PLC程序是AM402工程

https://download.csdn.net/download/panjinliang066333/87523222

2、H3U测试程序

aaa文件夹是PLC测试程序

 https://download.csdn.net/download/panjinliang066333/87606437

 


http://chatgpt.dhexx.cn/article/kYotZcVq.shtml

相关文章

新魔百和UNT402A免拆机破解(附教程)

九联UNT402A刷机教程指南 今天跟大家分享下关于九联UNT402A刷机教程&#xff0c; UNT402A与UNT之前型号有明显区别&#xff0c; 就是采用的处理器不在是海思处理器&#xff0c; 取而代之的是晶晨处理器&#xff0c;下面讲讲如何刷机 下载地址&#xff1a; 百度链接&#xff1…

重新激活“HTTP错误代码402”,释放Web 3.0的潜力(上)

发表时间&#xff1a;2022年2月28日 信息来源&#xff1a;coingeek.com 原文作者&#xff1a;Jerry Chan 是时候夺回互联网了。 在这个互联网充斥着广告和恶意软件的时代&#xff0c;个人数据和网络冲浪历史被收集并贩卖&#xff0c;用以偿付网络上大量免费提供的信息。我们身…

计算机考研402,考研初试402高分复试被淘汰,原来因为这几点被pass掉,以此为戒...

原标题&#xff1a;考研初试402高分复试被淘汰&#xff0c;原来因为这几点被pass掉&#xff0c;以此为戒 近几日&#xff0c;不少高校都已经举行了考研复试&#xff0c;并且已经在官网上公布了录取结果&#xff0c;大家都知道复试是考研的一个关键阶段&#xff01;加上今年复试…

基于汇川AM402编写跑马灯程序

1、根据实际的设备及组装顺序进行组态。下图是我实际添加设备。 x 2、创建两个程序组织单元&#xff0c;PLC_PRG和POU。在程序组织单元PLC_PRG下添加两个动作“跑马灯”和“跑马灯2”&#xff0c;然后再将程序组织单元POU添加进任务当中。 在动作“跑马灯”下编写程序&#x…

汇川AM402和串口调试助手自由协议通信

1、硬件说明 PLC&#xff1a;汇川AM402-CPU1608TP PC&#xff1a;串口调试助手 连接&#xff1a;RS485转232、USB转232 如下图所示 PLC的DB9接头2路485接线说明 选择一路使用即可&#xff0c;本测试选择1、2、5引脚 2、PLC工程配置 工程组态 PLC串口接收寄存器&#xf…

FSR402传感器简介

大家好&#xff0c;今天小白给大家介绍一款使用很方便的测压传感器&#xff0c;型号FSR402&#xff0c;欢迎一起交流学习。 一&#xff1a;FSR402简介 FSR402是著名Interlink Electronics 公司生产的一款重量轻&#xff0c;体积小&#xff0c;感测精度高&#xff0c;超薄型电…

【无刷直流电机】【DS402协议】学习记录

DS402是建立在DS301(DS301就是一个通讯协议栈)基础之上的伺服类控制协议。 ds402.c #include <stm32g0xx_hal.h> //Sets up the correct chip specifc defines required by arm_math //#define ARM_MATH_CM4 //#include <arm_math.h>#include <mcpwm.h>#inc…

重新激活“HTTP错误代码402”,释放Web 3.0的潜力(下)

发表时间&#xff1a;2022年3月7日 信息来源&#xff1a;coingeek.com 原文作者&#xff1a;Jerry Chan 在上一篇文章中&#xff0c;我们概述了Web 3.0的潜力&#xff0c;也就是为互联网提供了一个变现层级。我们还略加提及了IPv6将为这种全新的互联网模式带来的可能性。那么&a…

CANOPEN使用心得1-cia301、cia402简单提要

canopen简单提要 can总线 can特点&#xff1a;多主控制、高达1M通讯速度、通讯校验、 错误检测处理及恢复等&#xff0c;can总线通讯接口规定了CAN协议的物理层和数据链路层功能。 canopen协议 canopen协议属于应用层协议&#xff0c;是由一系列子协议组成&#xff0c;分为通…

CiA402驱动架构

原文&#xff1a;https://blog.csdn.net/huangxianxinalice/article/details/8706684 自version4.30以后的SSC都包含有一个简单的CiA402驱动架构的应用程序&#xff08;如[1]描述&#xff09;。这个应用提供了一个接口在电机控制程序和通信层之间。 下面的特性被支持 - CiA4…

计算机考研402,考研402分经验谈

考研402分经验谈 作者 小坦克 次阅读 2008-05-13 考研是个痛苦却充实的过程。尤其对我而言。 我考的是哈尔滨工业大学企业管理专业。总分402&#xff0c;英语82&#xff0c;政治80&#xff0c;数学三111&#xff0c;专业课129. 我是07级毕业生。本来应该得到系里保送研究生得机…

语音数据采集-实时语音数据可视化

1、安装依赖 pip install pyaudiopip install pylab 2、语音数据展示 import pyaudioimport numpy as np CHUNK 4096 # 每次采集的数据点数RATE 44100 # 采样频率 ppyaudio.PyAudio() # 启动类streamp.open(formatpyaudio.paInt16,channels1,rateRATE,inputTrue, …

Speech | 提取语音(数据集)的语音特征合集

本文主要讲解了提取数据集的一些主要工具&#xff0c;以及如何使用这些工具&#xff0c;包含安装以及运行命令。 提取语音&#xff08;数据集&#xff09;的语音特征工具&#xff08;Extract audio features toolkits&#xff09; • openSMILE • COVAREP • ESPNet • YAAF…

简单的语音数据集制作方案

众所周知&#xff0c;深度学习现阶段还是以数据为驱动&#xff0c;然后我们需要simsiam等的自监督算法来自动标注数据集以及特征&#xff0c;但是初始阶段还是回到我们的音频数据本身。 我们提取音频特征有数种方式&#xff0c;首先是可以直接进行音频波形的提取&#xff1a; …

数据集 | 基于语音(Speech)/多模态(Multimodal)的情绪识别数据集,格式及下载

本文主要介绍了一些常用的语音&#x1f5e3;识别数据集&#xff0c;文件格式以及下载地址&#xff1a; 目录 1.IEMOCAP Emotion Speech Database(English) 2.Emo-DB Database(German) 文件命名 对象 3.Ryerson Audio-Visual Database of Emotional Speech and Song (Engli…

历史最全开放语音/音频数据集整理分享

本资源整理了40多个语音和音频处理相关的开源数据集&#xff0c;分享给有需要的朋友。 资源整理自网络&#xff0c;源地址&#xff1a;https://github.com/jim-schwoebel/voice_datasets 有两种主要类型的音频数据集&#xff1a;语音数据集和音频事件/音乐数据集。 语音数据集…

语音识别数据集-TIMIT数据集-中文超详细解析

TIMIT数据集 前言 该文章会详细介绍TIMIT数据集的文件组成、内部文件格式以及如何使用TIMIT数据集。同时还会介绍TIMIT是如何组织数据以及划分训练集与测试集的&#xff0c;可以为今后自己构建数据集提供一种思路。 关键词&#xff1a;TIMIT数据集、语音识别、音素、人工音频…

语音增强数据集总结【持续更新】

语音增强数据集总结 语音增强的第一步一般是准备数据&#xff0c;包含带噪语音和纯净语音。一般这些数据都是人工合成的&#xff0c;以纯净语音和噪声数据为基础即可合出带噪语音信号。以下介绍一些语音增强领域常用的数据集。 纯净语音 Common Voice(2019首次发布&#xff…

DuDuTalk语音工牌:语音数据分析在销售场景的应用价值

在现今这个数字时代&#xff0c;企业需要更高效、更有效地沟通和合作。语音数据的收集和分析能够增加销售团队和客户之间的联系&#xff0c;同时提高销售闭合率。因此&#xff0c;了解和利用销售沟通语音数据的价值&#xff0c;是现代企业所必须的。 销售沟通语音数据指的是在…

VoxCeleb1 语音数据集下载

前言 VoxCeleb1 是广泛使用的 说话人识别、验证 数据集。由于是从 YouTube 视频中提取&#xff0c;有比较丰富的噪声。&#xff08;有空补介绍&#xff09;由于我只使用音频数据&#xff0c;这里只介绍音频数据相关的下载流程。 如果可以使用谷歌表单和翻译软件应该就可以顺利…