电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 其他PLC >> 汇川PLC >> 正文

【电气开发】[汇川] (Easy系列)的基础使用

作者:佚名    文章来源:本站原创    点击数:    更新时间:2026/7/10

前言:随便写写记录哈,方便学习查找。(以下均为个人笔记会有错误,仔细甄别后使用)
绿色代表不重要需要使用再查看,

黄色代表比较实用

红色表示重点

持续更新中................

1.汇川EASY硬件系统组成

1.型号与铭牌说明

*

*

*

*

*

*

2.部件说明 

*

*

*

*

 *

*

3.输入输出接线

*

双向输入,当前示意图输出为NPN漏型输出

*

*

*

 4.内存分配

*

*

     字软元件

*

*

特殊软元件 

*

5.变量

*

 变量定义
*

IP变量定义使用

*

*

在TCP_Scoket 通信中 IP 支持使用 IP/DINT/POINT类型(详情见TCP_Socket通信章节)

如果使用Dint注意字排序方式
*

特定联合体的使用

特定联合体变量数据类型包括三种

*

*

*

如果di0 = 1000(32位)
*

指针的使用

*

建立指针

*

指针里面存放的是地址而不是数据

*

使用指针进行数据读写

*

*

当R0 =1 R1 =1

*

具体应用可以进行(一对一,一对多,多对多的数值赋值)

需求:把D1004的值,根据D0的设定,往100个连续的D元件D400-D499进行赋值。
如D0=0,将D1004的值给到D400;D0=1 ,则D1004的值给到D401
*

需求:把(D1006,D1007)的值,根据D0的设定,往100个连续的32位D元件D500-D699进行赋值。
如D0=0,值(D1006,D1007)的值给到(D500,D501);D0=1 ,则(D1006,D1007)的值给到(D502,D503)

*

需求:把M1002的状态,根据D0的设定,往100个连续的M元件M200-M299进行赋值。
如D0=0,M1002的值给到M200;D0=1 ,则M1002的值给到M201

*

数组

*

指令中使用数组时,如未输入数组下标,则从数组的第一个元素开始访问,如输入数组下标,则从下标指定 的元素开始访问。


结构体

*

可以通过导入导出来快捷建表。包括昆仑通态触摸屏+汇川的触摸屏

TCP

*

TCP_Listen

*

字符串

*

*

变量绑定地址


自定义变量绑定软元件之后,掉电保持属性会跟随绑定的软元件变化。

*


2.AutoShop编程软件的使用

新建工程

*

  1. 启动与新建:打开AutoShop软件,在菜单栏选择“文件 > 新建工程”。

  2. 命名与保存

    • 在弹出的对话框中,输入清晰的工程名称

    • 为工程选择合适的保存路径。强烈建议为每个新工程创建一个独立的文件夹,以便管理。

  3. 选择PLC类型:在新建工程时,需要选择PLC类型(例如H3U、H5U等)。此选择必须与实际使用的PLC型号严格一致,否则可能导致程序无法下载或运行异常。

  4. 选择编程语言:通常可以选择梯形图或其他支持的。

  5. 确认创建:点击“确定”按钮完成创建。

通信连接

*

  • 选择通信端口:确保有一根Type-C的USB编程线/以太网线/网关。USB线通常用于初始设置和程序下载,而以太网线用于网络通信和在线监控。

  • IP地址设置:对于以太网通信,首先需要为PLC分配一个固定的IP地址。可以通过USB连接后,在AutoShop的“通讯设置”中搜索设备并修改IP

全局变量 *

结构体

*

  1. 定义结构体:在应用程序下添加新的结构体,然后定义成员变量。

  2. 声明结构体变量:定义好结构体类型后,就可以像使用INT、BOOL这样的基本类型在变量表一样来声明变量了。

  3. 访问成员:使用“.”运算符来访问结构体内部的成员变量

软元件表

软元件表包含注释和内存管理两块功能
*
  • 用于批量修改当前页面的数据类型
  • 跳转功能,例如切换至D元件,输入1000,点击跳转或按Enter键,则页面自动跳转至D1000的位置。
  • 修改数据值列和当前值列的显示格式。
  • 可以添加注释
*

同步数据功能 — 将选择列的数据全部同步到菜单项选中的数据值列中,例如单击选择数据值1列的某个单元格右键选择同步到数据值2,则是将数据值1列的数据覆盖数据值2。

*

上载工程变量值与操作读取内存一致
将PLC的软元件变量值存入选择中的数据值中
 
*

*

*

可以配合汇川触摸屏使用导入变量快捷组态

功能块实例

FB块调用时需要实例化,当在主程序调用时自动生成

*

*

变量表

支持自定义变量,用户可以通过定义全局变量,在程序中直接使用变量名编程。
*
变量绑定地址
自定义变量支持绑定软元件地址,绑定后自定义变量的地址与软元件的地址关联
*
常用系统变量
Ethernet网口信息

可在变量表中监视本机的IP、MAC等信息。
参数路径 数据类型 描述 权限
Ethernet.MACAddress INT[3] 物理地址(MAC地址) 只读
Ethernet.MACAddress[0] INT MAC地址第1部分 只读
Ethernet.MACAddress[1] INT MAC地址第2部分 只读
Ethernet.MACAddress[2] INT MAC地址第3部分 只读
Ethernet.IPAddress DINT 本机IP地址 读写
Ethernet.Mask DINT 子网掩码 读写
Ethernet.Gateway DINT 网关 读写
IPCommand INT IP命令 读写

 _DateTime:RTC时钟如下表所示

_DateTime.Second INT [0, 60] (60为闰秒) 只读 D8013
_DateTime.Minute INT [0, 59] 只读 D8014
_DateTime.Hour INT [0, 23] 只读 D8015
_DateTime.Day INT 日(月中的日期) [1, 31] 只读 D8016
_DateTime.Month INT 月份 [1, 12] 只读 D8017
_DateTime.Year INT 年份 - 只读 D8018
_DateTime.WeekDay INT 星期 [0, 6] (0=星期日, 1=星期一) 只读 D8019
_DateTime.YearDay INT 年累积日(从1月1日开始) [0, 365] (0代表1月1日) 只读
_DateTime.Timestamp DINT 时间戳(从1970-01-01 00:00:00起的秒数) - 只读

TWR

指令将指定时钟数据S (含年/月/日/时/分/秒/星期)的7个数据写入 PLC 的内置实时时钟数据 。

*

特殊辅助继电器(M点)功能表

元件地址 数据类型 功能描述 权限 类别
M8000 BOOL 运行监视:PLC运行时始终为ON 只读 状态
M8001 BOOL 运行监视取反:M8000状态取反(PLC运行时为OFF) 只读 状态
M8002 BOOL 初始脉冲:用户程序开始运行的第一个扫描周期为ON 只读 脉冲
M8003 BOOL 初始脉冲取反:M8002状态取反(第一个扫描周期为OFF) 只读 脉冲
M8011 BOOL 10ms时钟:以10ms为周期(ON 5ms, OFF 5ms)的振荡时钟 只读 时钟
M8012 BOOL 100ms时钟:以100ms为周期(ON 50ms, OFF 50ms)的振荡时钟 只读 时钟
M8013 BOOL 1s时钟:以1s为周期(ON 0.5s, OFF 0.5s)的振荡时钟 只读 时钟
M8014 BOOL 1min时钟:以1min为周期(ON 30s, OFF 30s)的振荡时钟 只读 时钟
编程

*

程序块

*

右键可以设置看门狗与扫描周期时长

程序块中只有一个主程序,可以插入子程序与中断子程序

*

*

在程序执行过程中,当满足中断条件跳转到中断子程序中执行完毕后返回中断的位置继续执行,子程序是在CALL主动调用的


FB块

功能块 (FB) 可以把程序中重复使用的部分抽象封装成一个通用程序块,在程序中可以被重复调用。
功能块变量的属性:
*
在工具箱的“FB”节点下,双击FB指令进行实例化调用

*

可以导出FB,导入其他项目的FB中或者库使用
FB初始值

FB设置初始值可以通过FB类型或FB实例者两种途径进行修改。
如果是通过FB类型修改初始值,则修改类型的初始值。
如果是通过FB实例修改初始值,则修改实例的初始值。
如果修改实例初始值,则FB实例成员变量将显示修改后的值,且单元格背景颜色为黄色。
如果实例初始值没有修改,则FB实例成员变量显示默认值,单元格背景颜色为白色。

FC函数

函数(FC)是独立封装的程序块,程序块可以定义输入/输出类型参数,可以定义非静态内部变
量,即使用相同的输入参数调用某一函数时,得到的输出结果是相同的。
 
调用直接输入FC名称,按键盘Tab键即可。(不好用还是直接在工具箱调用吧)

导出与FB一致不再赘述

配置
*

输入滤波

*

设置输入滤波时长
 

模块配置

*

可以添加扩展模块并且进行配置

比如GL20-1600END扩展模块

*

部件说明

*

接线

*

变量监控表 *
交叉引用表*
元件使用表 * Trace
Trace功能类似于数字采样示波器,可以记录变量的历史值。
*

当我们的触发变量满足触发值的条件,就进行采样N个后后停止采样。

*

*
*

*

*

实时采集Y0的数据变化

*

*

未满足前一直采集,满足Y1条件后再采集100个Y0数据后停止采集

*

Y2为1记录采集,Y2为0不记录采集

快捷键

ALT+↑↓  快捷调整软元件地址

Ctrl+Shift+V 批量复制

F12 转到定义
仿真IP地址为:127.0.0.1

3.编程基础指令(梯形图)


3.1触点指令
指令助记符 功能说明 编程语言
LD 加载常开触点 LD
LDI 加载常闭触点 LD
LDP 取脉冲上升沿 LD
LDF 取脉冲下降沿 LD
MEP 运算结果上升沿脉冲化 LD
MEF 运算结果下降沿脉冲化 LD

指令助记符 功能说明 编程语言
OUT 驱动线圈 LD
SET 置位动作保存线圈指令 LD
RST 接点或缓存器清除 LD
ZSET 全部数据置位 LD、LiteST
ZRST 全部数据复位 LD、LiteST
PLS 脉冲上升沿检测线圈指令 LD
PLF 脉冲下降沿检测线圈指令 LD
ALT 交替输出 LD
R_TRIG 上升沿检测指令 LD、LiteST
F_TRIG 下降沿检测指令 LD、LiteST

指令助记符 功能说明 编程语言
INV 运算结果取反 LD

3.2流程控制指令
指令助记符 功能说明 编程语言
CJ 条件跳转指令 LD
LBL 标号指令 LD
CALL 子程序调用指令 LD
SSRET 子程序待条件返回 LD
EI 中断许可 LD, LiteST
DI 中断禁止 LD, LiteST
WDT 监视定时器复位指令 LD
FOR 循环范围开始指令 LD
NEXT 循环范围结束指令

LD

条件跳转指令使用

*

WDT看门狗指令使用

*

FOR&NEXT
*
*

3.3 SFC指令
指令助记符 功能说明 编程语言
STL 程序跳至副母线 LD
RET 程序返回主母线 LD
OUTSTL 输出程序跳至副母线 LD
SETSTL 置位程序跳至副母线 LD
RSTSTL 清除程序跳至副母线 LD
SFC指令仅用于主程序,不能用于子程序和中断子程序等。(类似于顺序控制)
*

顺序控制从STL开始已RET结束

3.4触点比较

基本比较指令

指令助记符 功能说明 编程语言
LD= LD触点比较等于 LD
LD> LD触点比较大于 LD
LD< LD触点比较小于 LD
LD<> LD触点比较不等于 LD
LD>= LD触点比较大于等于 LD
LD<= LD触点比较小于等于 LD

逻辑运算触点指令

指令助记符 功能说明 编程语言
LD& LD逻辑与运算 LD
LD| LD逻辑或运算 LD
LD^ LD逻辑异或运算 LD

绝对值比较触点指令

指令助记符 功能说明 编程语言
LDZ> 绝对值>比较的状态触点[S1-S2]>[S3]时导通 LD
LDZ>= 绝对值>=比较的状态触点[S1-S2]≧[S3]时导通 LD
LDZ< 绝对值<比较的状态触点[S1-S2]<[S3]时导通 LD
LDZ<= 绝对值<=比较的状态触点[S1-S2]≦[S3]时导通 LD
LDZ= 绝对值=比较的状态触点[S1-S2]=[S3]时导通 LD
LDZ<> 绝对值<>比较的状态触点[S1-S2]≠[S3]时导通 LD
3.5数据运算

基本算术运算

指令助记符 功能说明 编程语言
ADD 二进制数据加法 LD
SUB 二进制数据减法 LD
MUL 二进制数据乘法 LD
DIV 二进制数据除法 LD
MOD 二进制除法求余 LD、LiteST

数据操作指令

指令助记符 功能说明 编程语言
INC 二进制数据加一 LD
DEC 二进制数据减一 LD
WAND 二进制数据逻辑与 LD
WOR 二进制数据逻辑或 LD
WXOR 二进制数据逻辑异或 LD
NEG 二进制数据求补 LD
ENEG 二进制浮点数符号取反 LD

NEG(二进制数据求补)

D0:求补前 2#1111 1111 1111 0100

      求补后 2#0000 0000 0000 1100

在PLC中数据是以二进制补码储存的

高级数学运算指令

指令助记符 功能说明 编程语言
EXP 二进制浮点数据指数运算 LD
LOGE 二进制浮点数自然对数运算 LD
LOG 二进制浮点数以10为底的对数运算 LD
ESQR 二进制浮点开方运算 LD
SQR 二进制数据开方运算 LD
POW 浮点数幂运算指令 LD

位处理指令

指令助记符 功能说明 编程语言
BLD 字或双字位数据触点指令 LD
BLDI 字或双字位数据反触点指令 LD
BOUT 字或双字位数据输出指令 LD
BSET 字或双字位数据置位指令 LD
BRST 字或双字位数据复位指令 LD

BLD(字或双字位数据触点指令)

*

D100 16->2#1000

第一条指令判断D100的第三位是否为1.

第二条指令判断D100的第四位是否为1

BOUT(字或双字位数据输出指令)*

BSET(字或双字位数据置位指令)/BRST(字或双字位数据复位指令)*

三角函数指令
指令助记符 功能说明 编程语言
SIN 浮点SIN运算指令 LD
COS 浮点COS运算指令 LD
TAN 浮点TAN运算指令 LD
ASIN 二进制浮点数ARCSIN运算 LD
ACOS 二进制浮点数ARCCOS运算 LD
ATAN 二进制浮点数ARCTAN运算 LD
RAD 二进制浮点数角度→弧度的转换 LD
DEG 二进制浮点数弧度→角度的转换 LD
SINH 二进制浮点数SINH运算 LD
COSH 二进制浮点数COSH运算 LD
TANH 二进制浮点数TANH运算 LD
表格运算指令
指令助记符 功能说明 编程语言
WSUM 算出数据合计值 LD
MEAN 平均值计算 LD
LIMIT 上下限限位控制 LD
BZAND 死区控制 LD
ZONE 区域控制 LD

WSUM(算出数据合计值)地址1 地址2 个数N

从地址1连续n个数相加结果放入地址2

*

*

LIMIT(上下限限位控制)                   下限           上限           判断值       输出值*

下限<=判断值<=上限,则输出判断值
判断值<下限,则输出下限
判断值>上限,则输出上限

BZAND(死区控制)

*

*

ZONE(区域控制)S1 S2 S3 D*

*

3.6数据转换
指令助记符 功能说明 编程语言
INT 二进制浮点→BIN整数的转换 LD
BCD 二进制数据转换BCD数据 LD
BIN BCD数据转换二进制数据 LD
FLT 二进制数据→二进制浮点数转换 LD
EBCD 二进制浮点→十进制浮点转换 LD
EBIN 十进制浮点→二进制浮点转换 LD
DABIN 10进制ASCII→BIN的转换 LD
BINDA BIN→10进制ASCII的转换 LD
WTOB 字节单位的数据分离 LD
BITW 位元伴随值给字元件 LD
BTOW 字节单位的数据结合 LD
WBIT 字元伴随值给位元件 LD
WTODW 16位字元件转换成32位字元件 LD
DWTOW 32位字元件转换成16位字元件 LD
MCPY 数据复制(内存拷贝、类型变换)指令 LD
MSET 数据设置(内存设置和复位)指令 LD
UNI 16位数据的4位结合 LD
DIS 16位数据的4位分离 LD
ASCI HEX→ASCII转换 LD
HEX ASCII→HEX转换 LD
DECO 数据解码 LD
ENCO 数据编码 LD
SCALE_X 缩放指令 LD
NORM_X 反缩放-标准化指令 LD
ROUND 取整/四舍五入 LD
TRUNC 截尾取整 LD
CELL 浮点数向上取整 LD
FLOOR 浮点数向下取整 LD
3.7数据传送
指令助记符 功能说明 编程语言
MOV 赋值传送 LD
EMOV 二进制浮点传送 LD
SMOV 移位传送 LD
BMOV 数据成批传送 LD
FMOV 数据一对多传送 LD
CML 数据取反传送 LD
CMP 数据比较 LD
ECMP 浮点比较指令 LD
ZCP 区域比较 LD
EZCP 浮点区域比较指令 LD

SMOV(移位传送)

*

*

*

D0 1234 从第四位开始连续二位 12-》赋值给D10 第三位与第二位

*

*

在bin模式下 将D0的高8位赋值给D10的的5-13位

*

BMOV(数据成批传送)

*

FMOV(数据一对多传送)

*

3.8定时器
定时器分类:

脉冲定时器(TPR)、接通延时定时器(TONR)、关断延时定时器(TOFR)和时间累加定时
器。

*

脉冲定时器 (TPR)

*


 

*

工作原理:

IN 0->1,定时器启动计时(不能重复驱动),Q状态位置1
当ET=PT即到达设定时间,Q状态位置0.如果IN=0,则ET值为0。IN=1,ET值保持。
如果R使能为1,当前值ET清零状态位Q置0

接通延时定时器 (TONR)
*

*

当IN状态位置1,定时器开始计时,如果ET=PT,状态位Q置1

如果IN状态位置0,当前值ET清零状态位Q置0

如果R使能有效,当前值ET清零状态位Q置0

关断延时定时器 (TOFR)

*

*

当IN使能为1,Q状态位置1,当前值清ET理

当IN使能1->0,定时器从零开始启动计时,如果当前值ET=PT,状态位置0

时间累加定时器 (TACR)
*
*

类似与TONR工作原理不再赘述

4.编程基础指令(ST)

*

*

*

*

*

*

*

*

*

*

使用MCPY指令,可以在相同类型的数组、结构体之间进行赋值。

*

*

*

指令类别 指令名称 功能说明 支持语言
数组指令 AryMax / AryMin 数组变量的最大值 / 最小值检索 LiteST
ArySearch 在一维数组中检索指定值 LiteST
SizeOfAry 获取数组元素数量 LiteST
AryMove 数组传送 LiteST
AryExchange 数组数据交换 LiteST
CLEAR 初始化变量 LiteST
AryAddV / ArySubV 对数组的每个元素进行加法 / 减法运算 LiteST
ArySHL / ArySHR 将数组整体左移 / 右移 N 个元素 LiteST
AryAnd 数组逻辑与运算 LiteST
AryOr 数组逻辑或运算 LiteST
AryXor 数组逻辑异或运算 LiteST
AryXorN 数组逻辑同或运算 LiteST
AryMean 计算数组元素的平均值 LiteST
ArySD 计算数组元素的标准差 LiteST
指令名称 功能说明 支持编程语言
LEN 检出字符串的长度 LD、LiteST
INSETR 字符串插入 LiteST
RIGHT 从字符串右侧开始取出 LD、LiteST
LEFT 从字符串左侧开始取出 LD、LiteST
指令名称 功能说明 支持编程语言
ClearString 清除字符串 LiteST
CONCAT 将输入两字符串连接并输出 LiteST
DELETE 将输入字符串中的指定位置指定长度字符串删除,输出处理后字符串 LiteST
FIND 检索目标字符串在输入源字符串中的位置 LiteST
REPLACE 字符串替换 LiteST

5.子程序

*

新建通用子程序

*

通用子程序的调用方式如下图所示
*
有条件调用,前面的能流为1时调用,否则不调用。
子程序必须以SRET语句结束;
*
可以重复调用,可以嵌套但是不能超过6层(注意不能递归)
定时器与计数器的使用与SMART_200一致

6.中断

*
PLC程序开始运行时,默认为中断禁止状态;执行了EI语句后,中断功能允许;当中断为允许状态,执行了DI 语句后,即进入中断禁止状态。在程序中如果没有插入中断禁止的区间时,可以不使用DI指令。
中断类型

*

外部中断:X0/X1/X2/X3发生变化时进入中断子程序

*

定时中断:根据设定时长定时进入中断子程序

*

比较中断:满足比较条件进入中断子程序
调用HC_Compare、HC_StepCompare、HC_ArrayCompare指令,将参数
InterruptMap与比较中断编号关联,即InterruptMap参数设置为比较中断编号。
*

7.通信

TCP_Socket

  1.作为服务器

        服务器必须等待客户端的连接请求,需要提供IP与端口号,当本机作为服务器时,使用TCP_Listen指令实现监听客户端连接请求的功能。

*

当执行之后,传递port失效,不能写入到Socket中,并且更改Socket也无效,记得一定是先确定好参数才执行监听。

*

Socket格式 

*        指定监听的本机端口:不可以使用系统内部占用端口号(23、12939、12940)或Modbus-TCP服务器端口号(502)

*

处于监听状态的服务器当接收到客户端的连接请求后,需要通过TCP_Accept指令来建立与客
户端间的通信。

在成功建立通信后,通过多条TCP Accept指令可以实现同一本地端口与多个客户端建立通信连接??(未成功测试)

可以通过多条Listen+Accept实现多个TCP连接

注意Socket的不同

*

2.作为客户端

*

IPAddress:D500

*

当本机做为客户端,要与服务器进行通讯时,通过TCPConnect指令去连接服务器指定的端口
客户端通过TCP_Connect指令向服务器发出连接请求后,最多等待127秒,若服务器没有响应
则连接失败。 

3.断开连接

*

在完成通信后,可以使用TCP Close指令来关闭连接、停止监听或终止正连接的套接字

4.发送接收

*

 *

*

关于发送接收类型支持 BUFFER数组支持字节/整数

整数数组的接收方式

*

*

MODBUS_TCP

MODBUS_TCP协议介绍

运行在 TCP/IP 网络上,将 Modbus 协议封装在 TCP 数据包中,使用端口 502。

主从模式: 通信由主站(Master,如 SCADA 系统、HMI)发起,从站(Slave,如 PLC、传感器、仪表)响应。

寻址空间: Modbus 使用不同的“数据模型”来访问设备内的不同类型数据。

线圈(Coils):可读可写数据,通常表示开关量输出(DO)。地址范围:0区。

离散输入(Discrete Inputs):只读数据,通常表示开关量输入(DI)。地址范围:1区

输入寄存器(Input Registers):只读(16位)数据,通常表示模拟量输入(AI)。地址范围:3区

保持寄存器(Holding Registers)可读可写(16位)数据,通常表示模拟量输出(AO)或设备配置参数。地址范围:4区。

Modbus TCP报文

Modbus TCP 的报文是在标准 Modbus PDU 的基础上,添加了一个特定的 MBAP 报文头

MBAP 报文头+Modbus PDU组成了Modbus TCP 的报文

MBAP 报文头(7字节)

事务元标识符(2个字节)+协议标识符(2个字节)+长度(2个字节)+单元标识符(1个字节)

*

Modbus PDU(协议数据单元):

功能码(1字节)+数据(可变长度)

*

实例1:读取保持 寄存器 (功能码 0x03)

*

主站发送:000E 0000 0006 01 03 0000 0002

000E:事务元标识符主站生成

0000:Modbus_TCP固定为0000

0006:后面还有6个字节

01: 站号为01

03:功能码

0000:起始地址

0002:读取个数

从站回应:000E 0000 0007 01 03 04 0003 0000

04:4个字节
0003:读取内容1

0000:读取内容2

实例2:写多个保持寄存器(功能码 0x10)

主:0002 0000 0009 01 10 00C8 0002 04 ABCD EF01

00C8:地址

0002:写入2个字

04:4个字节

ABCD:写入内容1

EF01:写入内容2

从:0002 0000 0006 01 10 00C8 0002

作为TCP主站

主站(客户端)主动发起连接
从站(服务器)开放端口等待连接(需要向客户端提供IP地址与端口号502)
Modbus TCP主站即Modbus TCP客户端,Modbus TCP主站最多支持同时与31个Modbus TCP从站 (Modbus TCP服务器)进行通信。

*

*

*

*

MB_Client—Modbus TCP协议发送接收

*

*
数据缓冲区,要求缓冲区大小设置大于125个字元件/250个字节

STConncetOPT配置

*

*

*

作为TCP从站

只需要提供IP地址与端口号502

汇川EASY MODBUS地址映射

*

*

汇川EASY支持的功能码

*

读取D0 D1

*

读取X0-X7

*

串口通信

通信资源

*

通信协议

*

RTU 帧格式

组成部分 长度 说明 示例(十六进制)
起始间隔 ≥ 3.5字符时间 帧与帧之间的静默区,由物理层实现 -
从站地址 1 Byte 目标设备的地址(0-247) 01
功能码 1 Byte 指示要执行的操作(如03读,06写) 03
数据域 N Bytes 请求或响应的具体数据 00 00 00 01
CRC校验 2 Bytes 循环冗余校验码(低位在前 84 0A
结束间隔 ≥ 3.5字符时间 帧结束的标志,由物理层实现 -

请求从站地址1读取保持寄存器40001和40002(起始地址0x0000,数量0x0002)。
完整的RTU请求帧为:01 03 00 00 00 02 C4 0B

  • 01: 从站地址

  • 03: 功能码(读保持寄存器)

  • 00 00: 起始地址高/低字节

  • 00 02: 寄存器数量高/低字节

  • C4 0BCRC校验码(计算自 01 03 00 00 00 02

ASCII 帧格式

组成部分 长度 说明 示例(ASCII字符)
起始符 1字符 固定为冒号 : :
从站地址 2字符 目标设备地址的十六进制ASCII表示 "01"
功能码 2字符 功能码的十六进制ASCII表示 "03"
数据域 N*2字符 数据的十六进制ASCII表示 "00000002"
LRC校验 2字符 纵向冗余校验码的十六进制ASCII表示 "F4"
结束符 2字符 固定为回车换行 CR LF CR LF

与RTU示例相同的请求(从站1,读寄存器40001和40002)。
完整的ASCII请求帧为::010300000002F4CR LF

  • :: 起始符

  • 01: 从站地址(ASCII字符 '0' '1')

  • 03: 功能码(ASCII字符 '0' '3')

  • 00000002: 数据(ASCII字符 '0''0''0''0''0''0''0''2')

  • F4: LRC校验码(计算自 01+03+00+00+00+02 的二进制和,取反加一后转换为ASCII)

  • CR LF: 结束符

MODBUS_RTU

RTU主站

配置串口协议
*

*

*

该指令用于实现串口的modbus协议通讯
*

*

S1 — 端口号(端口号和串口对应,设定实际选择通信的串口号)默认为0

S6 — 数据缓冲区,要求缓冲区大小设置大于125个字元件/250个字节
                

*

*

*

可以修改系统变量中的串口参数(有需要可以查阅手册)
自由口协议

*

*

*

虽然不知道为什么但是端口设置位0,其他不能用

EtherNet/IP

协议介绍

打开连接的一端为EtherNet/IP主站,被打开的一端为EtherNet/IP从站
*

主站配置
添加EtherNet-IP从站

*

如果设备不存在,右键单击工具箱中的“EtherNet/IP Devices”节点,在弹出的菜单项中单击“导入

eds文件
CAN EtherCAT 其他支持的通信

OPC UA

OPC UA(Open Platform Communications Unified Architecture)是一种工业通信协议,旨在实现不同制造商和平 台的设备 、 系统以及应用程序之间的安全 、 可靠的数据交换 。
特点:
跨平台:OPC UA是跨平台的协议
多种通信模式:支持客户端/服务器(C/S)模式和发布/订阅(Pub/Sub)模式

PROFINET
PROFINET 的设计目标是用标准的工业以太网,满足从工厂自动化到过程自动化所有领域的通信需求。它不仅仅是一种协议,更是一个完整的通信框架。
 

  • 基于工业以太网:它使用标准的IEEE 802.3以太网技术,但针对工业环境进行了强化(如坚固的连接器、实时性、确定性)。

  • 开放性:它是一个国际标准(IEC 61158 & 61784),不同厂商的设备可以实现互操作性。

  • 实时性:这是PROFINET与普通办公以太网最根本的区别。它通过不同的通信通道来满足不同等级的实时需求。

  • 拓扑灵活性:支持线型、星型、环型等多种网络拓扑,并支持集成的网络诊断功能。

MC

MC协议是三菱电机为其自动化产品(如PLC、运动控制器、机器人控制器等)设计的一套专有通信协议。它的主要目的是让外部设备(如上位机、HMI、SCADA系统、其他品牌的PLC等)能够与三菱的控制器进行数据交换。

MC协议的不同形式(框架与实现)

1. 串行通信框架(早期/基础)

  • 基于RS-232或RS-485串行接口。

  • 协议格式相对简单,但速度较慢。

  • 例如,通过COM口直接连接FX系列的PLC。

2. 以太网框架(主流/常用)

  • 基于TCP/IP或UDP/IP,运行在以太网上,速度更快,是现代应用的主流。

  • 它本身又包含几种不同的通信方式:

    • MC二进制格式:这是最常用、最标准的格式。使用二进制的指令和响应,代码简洁,处理效率高。

    • MC ASCII格式:指令和响应都以ASCII字符(文本)形式表示。虽然可读性好(便于调试),但数据量是二进制的两倍,效率较低。

    • SLMP格式:这是三菱推出的统一协议框架,旨在为串行和以太网提供一致的通信体验。现在很多时候提到以太网MC协议,实际上就是指基于SLMP框架的通信。

3. 总线框架

  • 基于MELSECNET/H或CC-Link等工业总线网络。

  • 用于三菱产品内部的高速网络互联,通常不用于与上位机的直接通信。

 FINS/TCP/UDP
FINS
 是 Factory Interface Network Service 的缩写,它是欧姆龙为其自动化产品(如PLC、温度控制器、网络从站等)设计的一套专有通信协议

  • 网络透明性:程序员无需关心底层网络硬件的细节,使用相同的FINS指令即可跨网络通信。

  • 强大的功能:支持读写I/O存储器、操作模式控制、文件操作、时钟操作等多种功能。

  • 基于命令/响应:采用典型的“主站请求,从站响应”的工作模式。

8.运动控制

9.具体案例/方法

1.队列

入队

*

出队

*

Tags:汇川PLC,Easy系列,H5U  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
    1分 2分 3分 4分 5分

    还可以输入 200 个字
    [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询