文章目录
PLC:指可编程逻辑控制器 (Programmable Logic Controller) 的简称,是作为继电器回路的替代装置开发出来的控制装置,一台PLC 可取代大量的继电器、定时器、计数器;
1. Autoshop 软件
AutoShop是汇川面向小型PLC 产品的编程组态软件,支持梯形图(LD)、顺序功能图(SFC)、结构化文本(LiteST)等多种编程语言。
- 软件下载与安装:到官网搜索Autoshop,下载对应软件;
下载完成后点击exe 文件安装;
帮助手册:
1.1 通信连接
PLC与AutoShop软件所在PC支持通过USB或以太网建立通信连接,实现程序上下载、监控和调试。
1.1.1 以太网连接
1.1.2 USB 连接
1.1.2 梯形图程序(LD)
1.2 文件夹功能
用户可使用文件夹功能对程序块/功能块/函数进行分类或批量操作。
2. H5U&Easy 系列PLC
参考:H5U&Easy系列可编程逻辑控制器指令手册-CN-A18、H5U&Easy系列可编程逻辑控制器编程手册-CN-A17
参考:汇川H5U入门到精通全套视频
H5U系列PLC是一款高性能小型PLC,主机结构设计紧凑,自带16路输入和14路输出。支持EtherCAT总线通信,具备强大的运动控制和分布式I/O控制功能,可通过FB/FC功能实现工艺的封装和复用,通过RS485、CAN、以太网和EtherCAT接口可以实现多层次网络通信。
Easy系列全场景紧凑型中小型控制器全系列共8个机型,满足用户对中小型自动化设备各种需求,适用于严苛体积、多轴运控、温度控制及通信组网等场景。
- 编程流程:
2.2 例程
2.2.1 自保持输出
已创建的工程以.hcp
后缀保存,下次打开工程直接打开对应后缀文件即可;
添加一个GL10(AM600)-0016ETP模块,该模块为16通道输出扩展模块;
编程:
程序中的
SET
、RST
等,是PLC 的语言指令,详见<H5U&Easy 系列可编程逻辑控制器指令手册>
若暂时没有PLC 实物,可选择离线模式进行无实物调试;
2.2.2 二进制数据加法运算指令 - ADD
注意指令
ADD
是数据加法运算,而$ADD
是字符串指令,详见指令手册
下载程序到PLC 或使用离线调试功能,写入M5的状态,观察数据运算结果;
2.2.3 二进制浮点数的加法运算指令 - EADD
其中E1.5 即十进制的1.5;
下载程序到PLC 或使用离线调试功能,写入M7的状态,观察数据运算结果;
2.2.4 赋值传送指令 - MOV
由于系统变量_DateTime
是一个结构体,故访问其结构体变量时,可用.
来访问;
下载程序到PLC 或使用离线调试功能,写入M7的状态,观察数据运算结果;
在监控页面中搜索该结构体变量并添加观察:
2.2.5 EtherCat 执行原理
- 新建工程,在工具 - 系统选项中勾选下图选项,这样,每添加一个伺服从站时,会自动添加一个轴:
- 以SV660_1Axis_V0.08伺服驱动器为例,双击它,则左边工程管理栏会自动创建并关联从站;
- 在工具 - 通讯设置中,搜索并测试PLC 设备的连通性;
- 下载工程源码到PLC 设备;
2.2.6 变量定义与配置
当定义一个新变量时,会弹出以下窗口,此时可对新变量进行设置;
变量定义后,可在变量表中进行修改;如下图把一个变量的类型修改为BOOL 类型的数组,该数组的长度为8;
- 变量映射:将新定义的变量映射到软元件中;
- 导出HMI 监控变量表:
2.3 切换PLC 工作模式
2.4 在线修改程序
2.5 设置程序扫描周期
2.6 打包与解压工程档案
2.7 登录PLC
登录功能有两方面的意义:一是为了保护客户的知识产权,二是为了保护PLC程序不被非授权用户非法修改。
- 登出和登录PLC:
- 管理登录密码:
2.8 软元件
2.8.1 位软元件
其中M、S、B 是PLC 内部中间寄存器的位软元件;
2.8.2 字软元件
上述梯形图的意思是:
- 例程:
程序下载到PLC 或离线调试,点击页面的“监控”,添加一个数据“D10”,修改其当前值;
当将M6 置为ON 且D10 的第1位为1时,Y10随即触发;
2.8.3 特殊软元件
2.9 子程序
-
通用子程序应用:
-
加密子程序应用:
加密子程序的调用方法与通用子程序一致。 -
中断子程序应用:
2.10 功能块FB 与函数FC
AutoShop 支持功能块FB与函数FC 的导入导出;
- 功能块(FB):
- 函数(FC):
- 功能块设置初始值:
2.11 扩展模块
2.11.1 H5U 扩展模块配置
H5U最多可以带16个本地扩展模块,并且通过模块组态实现对本地扩展的访问。
- 配置硬件组态:
2.11.2 Easy 扩展模块、扩展卡配置
2.11.3 GL20-RTU-ECT 扩展模块配置
2.11.4 GR10-EC-6SW 扩展模块配置
相当于一个交换机;
2.11.5 GS20-ECT-8L 模块配置
2.11.6 扩展模块的其他功能
- 自动扫描(Easy 独有):
- 使能/禁用(H5U&Easy):作为本地扩展模块使能/禁用功能时,要确保实际安装/移除的物理扩展模块与软件上模块列表里要使能/禁用的模块保持一致。以H5U的扩展模块为例,操作步骤如下:
更详细具体的模块配置,查看编程手册;
2.12 运动控制(轴)
在运动控制系统中,将运动控制的对象称为轴。轴是连接驱动器和PLC指令间的桥梁。运动控制轴用于控制符合402协议的EtherCAT总线驱动器,同时还可以控制本地高速脉冲输出和高速脉冲输入。
- 轴单位:在轴结构中用到两个单位,分别为用户单位和脉冲单位。
2.12.1 轴类型与配置
2.12.3 轴系统变量
2.12.4 轴控指令列表
单轴控制指令列表如下,详细用法请参见《H5U&Easy系列可编程逻辑控制器指令手册》:
2.12.5 运动控制轴设定步骤
- 轮廓模式:(详见编程手册)
- 设定轴参数:
- 编写程序:
- 下载程序:
- 开始运动:
2.12.6 运动控制轴配置
2.12.6.1 基本设置
2.12.6.2 单位换算需要设置的参数
2.12.6.3 模式/参数设置
配置界面如下,具体参数解释见编程手册<13.3.3 节>
2.12.6.4 原点返回
回原功能用于确定机械运动系统的起始位置;
2.12.7 在线监控
通过PLC指令、轴的系统变量、后台的在线调试界面获取轴的状态。
2.12.8 轴控功能
可通过在线调试功能实现一些基本的伺服控制,例如使能,停止,点动,点位控制等功能。在确定基本动作正常之后可以通过运动控制指令实现复杂的逻辑控制。在线调试和PLC 指令控制不能同时使用,限制如下:
- 在PLC 程序中调用MC_Stop指令使轴处于Stopping 状态时不能通过后台进入在线调试模式。
- MC_Power 指令和在线调试中的使能为或的关系,即只要有一种方式有效就可以让轴处于使能状态。
- 运动类指令如MC_MoveAbsolute 优先级低于在线调试,当轴处于在线调试模式时调用运动类指令无效,指令报错,但轴不会进入故障状态。
2.12.8.1 在线调试
在线调试可实现的功能如下:
在线调试操作步骤:
2.12.8.2 指令控制规则
在PLC中可以通过指令控制轴的运动,调用指令规则如下:
- 指令不需要实例化。
- 在指令中轴号是访问轴的唯一标识。
- 运动类指令的优先级一般低于在线调试模式。
- 指令中浮点型参数需要满足浮点数的精度范围,一般认为是7位有效数字,最大可以设置为9999999。
2.12.8.3 限位处理
支持2种限位检测:软限位和硬件限位检测:
- 为确保正确处理硬件限位信号,过程数据中必须配置0x60Fd;
- 软件限位处理仅在在线性模式下调用位置类指令和速度类指令有效,原点回归和力矩指令无效。
- 在软件限位范围以内,调用位置类指令,如果绝对目标位置不超过限位,可以正常执行;如果绝对目标位置超过软件限位,则打断定位指令的执行并最终停止在软件限位处。
- 在软件限位范围以内,调用速度类指令,当轴按照当前速度运行检测到会超过软限位时,将打断速度类指令的执行并最终停止在软件限位处。
- 如果轴已经超过了正(负)限位,则轴只能向负(正)方向运行。
2.12.8.4 定位曲线
支持T型加减速和5段S曲线加减速两种速度曲线,在指令中由CuriveType参数确定。
另外,当轴碰到限位或其他需要执行故障减速停机使轴进入Errorstop状态时,也是按照T型曲线执行减速停机。
2.12.9 拖动运动控制轴
当用户需要调整运动控制轴的组态顺序时,可以直接拖动轴。
2.12.10 修改轴配置参数
用户可通过PLC程序修改单个轴的配置参数来满足不同的应用需求,例如软件限位、环形模式下的旋转周期等。
- 在PLC程序中修改轴配置参数时,需要使用轴配置相关的系统结构体变量_sCfgAxis来设置参数,该结构体掉电不保存。
- PLC上电时,会根据软件后台的轴组态初始化该结构体变量。
- 根据应用需求修改初始化后的变量值,调用MC_SetAxisConfigPara指令检查后即可使设置生效。
关于_sCfgAxis结构体变量定义详细描述和示例,见<13.7 节>
2.13 总线编码器轴
2.13.1 软件配置
- 变量映射:详见编程手册节16.2.1;
2.13.1.1 单位换算
2.13.1.2 模式/参数设置
具体参数详见编程手册节16.2.3
2.13.2 功能示例
- 建立组态:
- 计数器使能:
- 计数器预置:
- 探针功能:一种输入功能
- 一维比较输出、二维比较输出、数字量输出端子控制、获取轴状态:详见编程手册节16.4.5;
2.14 离线调试
2.14.1 启动离线调试
2.14.2 运动控制轴离线调试说明
2.14.3 仿真调试
-
配置PLC端:
-
配置HMI端:
- 启动调试:完成HMI、PLC的程序编辑以及导入变量表之后,即可启动AutoShop的离线调试功能和InoTouchPad的在线仿真功能进行调试。
2.14.4 EtherNet/IP离线调试
2.14.4.1 作为从站离线调试
2.14.4.2 作为主站离线调试
- 运行调试:
3. EtherCAT 总线网络
3.1 H5U EtherCAT 执行原理
3.2 带载能力
3.3 通信应用
-
程序扫描周期设置:右击程序块 - 程序块属性:
-
EtherCAT 周期设置:默认为4ms,根据实际所带轴数而适当增加EtherCAT 的循环时间;
3.4 主站启停控制
3.5 主站状态监控
4. 【待整理】总线伺服轴配置
- 新建一个H5U 的工程;
- 在工具 - 系统选项中勾选以下选项:
- 导入设备描述文件:AutoShop 内部集成了汇川常用的EtherCAT 从站设备,无需另外单独安装即可直接使用。如需使用第三方(非汇川)EtherCAT 设备,必须先安装其设备的描述文件,安装导入过程如下图:
- 设备扫描(可选):当H5U 通过网线连接了EtherCAT 从站,可通过自动扫描的方式添加所有从站,无需手动添加:
4.1 数据过程
PLC 总线伺服轴的 TPDO(Transmit Process Data Object - 发送过程数据对象) 和 RPDO(Receive Process Data Object - 接收过程数据对象) 是 CANopen 或 EtherCAT 等现场总线协议中用于数据传输的核心概念。它们分别用于定义伺服驱动器与 PLC 之间的数据交换方式;
- TPDO:伺服驱动器向 PLC 主动发送数据的通道。可以配置为周期性发送(如每1ms)或事件触发发送(如报警发生时)。便于PLC 监控和诊断。
- RPDO:PLC 向伺服驱动器主动发送数据的通道。用于传输控制指令,如目标位置、目标速度、控制模式等。通常为周期性发送,以确保实时精确控制。
如下图为配置数据通道界面,可自定义勾选希望生效的TPDO 和RPDO,默认勾选1701和1B01两组,适用于位置控制模式。使用力矩控制指令时,需勾选含有0X6071、0X6060、0X6077、0X6061、0X607F 几个PDO 才能使用:
4.2 启动参数
一些只需在总线启动时修改一次的参数,可在启动参数界面进行添加设置,默认添加了如回原方式、回原速度、转矩限制、速度限制、控制模式等参数,一般不需改动:
4.3 IO 映射
IO 映射界面可将过程数据中添加的对象映射为编程中的变量;
如下程序:将第1000个寄存器中的值赋值给变量_IQ1_0
;
4.4 轴基本设置
基本设置界面中需要配置轴类型与输出设备,下方会显示之前驱动器配置好的过程数据并自动映射,无需手动设置;
4.5 单位换算设置
单位换算设置是为了让程序参数与实际物理量关联起来;
- 无减速机:
- 带减速机:
4.6 模式/参数设置
- 编码器设置:
- 模式设置:该模式选择要与驱动模式保持一致;
- 其他设置:
4.7 回原设置
4.8 轴指令
轴指令主要分为下面三种:
这些指令在AutoShop 中右侧的工具箱中可找到,这些指令在编程时,可通过双击的方式,快捷加入到程序中。关于这些指令的详细介绍,需查阅指令手册;
4.8.1 例程(轴使能)
已知该轴的轴号为0,当M0接通时,给Enable 一个高电平,0号轴随即被使能,使能指令的右边4个是输出接口,在指令手册中说明如下:
其中注意ErrorID 是INT 型数据,需要使用INT 型变量进行装载;
将程序下载到PLC 或使用离线调试:
4.8.2 例程(轴点动)
该指令只能在轴使能之后使用。
程序中的
E100
和E1000
是十进制整型100和1000的意思;
将程序下载到PLC 或在线调试;在监控中将正向点动开启,在“在线调试”窗口中,可看到电机轴一直向正向移动;
4.8.3 例程(读取轴实际位置)
Position 的值等于“在线调试”窗口中的位置变量的值;
5. 【待整理】轴状态切换
H5U PLC 是基于PLCOpen状态机对轴的状态和运动进行管理,在每一个不同状态下完成不同的功能。状态转换图如下:
轴的状态可在“在线调试”中观察:
编写代码,让轴使能但不运动,则轴状态会从Disabled 变为StandStill;
6. 【待整理】部分运动指令详解
MC_Power
、MC_Reset
见指令手册,这里略;
6.1 轴点动MC_Jog
- CurveType 是轴点动的加减速模式,默认为0;
- ErrorID 是当轴点动出现故障时,输出故障代码,故障代码可在指令手册中查找;
6.1 轴回原MC_Home
在轴的原点返回设置中选定原点返回方式后,即可使用;轴回原过程中Busy 信号置位;轴回原完成,则Done 信号置位;
其中Position 为原点偏移量;
- 在原点返回设置中,选择回零方式34:
- 编写程序:
- 让轴点动一段距离;
- 关闭点动,启动回原,观察在线调试窗口,可见位置回到零点;
6.2 绝对定位MC_MoveAbsolute
设定好绝对位置、速度、加减速度即可使用;使能绝对定位指令,观察在线调试窗口,可见轴会运动到1000,运动期间轴状态为Discrete Motion,到位后停止,轴状态为StandStill;
其中CurveType 是速度曲线模式,默认为0(即经典T型速度曲线)
6.3 相对定位MC_MoveRelative
每次调用,轴走相对于当前位置的Distance 的距离;
6.4 轴停止MC_Stop
设定好轴号、减速度即可使用;
编写轴停止指令,让轴持续运动时,使能轴停止指令,则轴状态处于Stopping 状态;在MC_Stop
指令执行中,即轴状态处于Stopping 状态时,其他指令不能将其打断,只有将轴停止指令失能,轴状态恢复到StandStill 状态,其他指令才能正常使用;
6.5 轴状态监控MC_ReadStatus
- 轴的系统变量:
在变量监控表中手动添加需要监控的变量;
或在程序中直接调用系统变量(详见编程手册);
-
通过
MC_ReadStatus
指令监控:
-
通过调试界面:
6.6 轴故障
7. H5U 与IT7000触摸屏应用
- 安装触摸屏应用:到汇川官网资料库搜索inotouchpad,选择对应版本下载并安装;
7.1 例程1:简单控制伺服轴
-
新建新工程:
-
连接PLC:
-
点击在线模拟器(有实物)或离线模拟器(无实物)进行仿真:
-
对应PLC 程序,添加对应按钮,关联对应地址:
-
添加界面按钮:在属性处可修改其外观;
-
添加数值IO 域:在变量组中添加对应变量;
在画面处增加一个数值IO 域,并配置参数:
依此类推,添加各个按钮和数值如下:
7. 将PLC 程序下载到PLC,启动屏幕仿真:可见,屏幕上点击对应按钮时,PLC 程序中也对应被按下;
通过关联变量,在界面处可修改并写入对应PLC 参数:
7.2 例程2:跑马灯
-
新建H5U 工程;
-
编程:
到变量表将新变量light 修改为长度为8的Bool 数组;
导出HMI 监控变量表; -
设定PLC IP:
-
使用InoTouchPad 软件新建一个HMI 工程;
-
配置PLC IP:
-
导入PLC 程序中导出的HMI 监控变量表,并配置好变量的地址;
-
HMI 组态编程:拖拽变量到组态
-
将PLC 程序下载到PLC,启动屏幕仿真,观察效果;
7.3 例程3:控制伺服驱动器IS620N
- 实验目的:
- PLC 部分:
- 新建一个H5U PLC 工程;
- 添加IS620N 的伺服驱动器轴;
- 编辑程序:
- 导出HMI 监控变量表:
- 设定PLC IP:
- 组态HMI 部分:
- 编辑HMI 组态:新建一个IT7070E HMI 的工程;
- 配置好与PLC 的连接:
- 导入PLC 程序中导出的HMI 监控向量表:
- 通过拖拽变量编辑组态:添加文本域标注每个组件;
将PLC 程序下载到PLC,启动HMI 模拟仿真查看效果;
8. 计数器应用
8.1 通过字元件编程实现
- 程序:
8.2 计算器轴介绍
-
计算器轴 - AB 相模式:
-
计算器轴 - CW/CCW 模式:
-
计算器轴 - 脉冲+方向模式:
-
计算器轴 - 单相计数模式:
-
单位换算:编码器轴的脉冲单位换算成用户单位:
-
探针设置:
-
预设设置:
-
比较输出设置:
8.3 高速计数指令
8.3.1 高速计数器使能 - HC_Counter
控制高速计数器计数开始或停止。
时序图:下面以其中一个模式为例,其他详见指令手册;
8.3.2 高速计数器预设值 - HC_Preset
根据触发信号将计数器值设置为预置值。
8.3.3 高速计数器探针 - HC_TouchProbe
根据触发信号的发生记录计数器值。
8.3.4 高速计数器比较 - HC_Compare
8.3.5 高速计数器数组比较 - HC_ArrayCompare
按次序连续探测计数器计数到达指定数组序列。
8.3.6 高速计数器数组比较 - HC_StepCompare
按次序连续探测计数器计数到达指定范围与间距的连续序值。
9. 定时器应用
9.1 脉冲定时器 - TPR
当IN为高电平,定时开始,Q输出高电平,定时结束,Q输出低电平;
-
时序图:
-
例程:
闭合M11:
定时时间到后:
此后每次M11从断开到闭合,都会触发TPR 定时器重新工作;
9.2 接通延时定时器 - TONR
当IN 接通(从断开到闭合),定时开始,等到定时结束,Q输出高电平;
- 例程:
闭合M12:
定时时间到后:
此后每次M12从断开到闭合(再次接通),都会触发TONR 定时器重新工作;
9.3 关断延时定时器 - TOFR
当IN 接通,Q输出高电平;当IN 关断(从闭合到断开),定时开始,到定时结束,Q输出低电平
- 例程:
闭合M13:
再次开启M13:
定时时间到后:
此后每次M13从闭合到断开,都会触发TOFR 定时器开始定时;
9.4 时间累加定时器 - TACR
当IN为高电平,定时开始,Q输出高电平,定时结束,Q输出低电平;
- 与
TPR
的区别:- 当
TACR
的IN 为低电平时,TACR
暂停定时,当TACR
的IN 再次为高电平时,继续定时; - 定时结束后,IN 再次接通,不能重新开始新的定时,需额外进行复位;
- 当
- 例程:
闭合M14:
定时时间到后:
后续重新开关M14,TACR 定时器并不重新工作,需给一个复位信号,定时器才能重新工作;
9.5 例程:交通灯
- IO 接线图: