台达HMI宏指令与安迪伺服系统通讯
东北大区业务支援处 FAE 孙承志
【摘要】
本文主要介绍了台达人机界面与国产安迪伺服系统宏指令通讯应用案例,结合具体的宏指令编程语言的应用方法和技巧,详细地介绍了宏指令自由协议通讯程序的系统架构、具体步骤、软件算法以及实现方法,对今后类似的HMI通讯技术应用具有很好的借鉴作用。
【关键字】
宏指令自由协议 RS-232通讯
【前言】
台达DOP系列人机界面均具有宏指令软件编程功能,可以根据客户设备或者生产线具体工艺技术要求灵活应用,解决自由协议通讯连接,实现读取参数、设定参数等功能。还可以通过宏指令软件编程,实现HMI 驱动微型打印机功能,配合HMI控制程序,完成设备现场工艺参数打印存档。除此之外,宏指令还有其他强大的功能,可以实现一些HMI普通软元件编程组态无法完成的任务,活学活用台达HMI宏指令,可以增强HMI程序控制功能,提升台达HMI差异化竞争能力。应用工程师在项目实践中,HMI控制程序组态编程过程时,适当地加入宏指令程序,可以简化组态程序和下位控制器(PLC或者其他专用控制器或者驱动器等)控制程序,达到事半功倍的效果。
【正文】
安迪伺服系统产地辽宁大连,属于通用型交流伺服系统,该伺服驱动器带有8Pin Mini圆型通讯接口,支持RS232/422/485三种通讯格式,使用者可籍由此口连接上位机(PC机或者HMI等),实现通讯读写参数或者命令、状态信息等功能。本案例应用台达DOP-B05S100型号的HMI,连接安迪ADSD-S23-0.75K伺服系统,HMI读取伺服当前运行速度值,将变化的速度值实时显示在HMI画面上,下面详细介绍宏指令编程步骤和技巧,对于读取或者写入其他参数值或者状态信息,请以此例程为借鉴样本,更改欲访问的参数地址即可实现。
通讯组网硬件接线如下图:
台达DOP-B05S100人机界面COM2口RS-232方式管脚定义如图所示:
安迪伺服系统8Pin Mini通讯口管脚定义如图所示:
台达HMI通讯接口COM2为通用标准RS-232串口定义,和PC机串口相同,所以通讯连接电缆制作图按照上图制作即可。
安迪伺服系统通讯口RS-232方式固定的通讯格式:
台达HMI宏指令通讯程序三步走:
1、初始化通讯口;
2、选择通讯口;
3、经由已选定的通讯口,发送或者接收数据;
本案例宏指令通讯程序分为两大部分:Initial宏和Clock宏,前者编写初始化通讯口程序,后者编写发送、接收数据程序,以及进行相应的数据转换和计算。
初始化通讯口宏指令语言:
由于安迪伺服系统固定通讯格式为:9600bps,8,N,1,所以必须将HMI COM2通讯格式初始化为相同的格式。
选择通讯口和经由通讯口发送、接收数据的宏指令语言如下图所示:
选择通讯口和数据发送、接收宏指令变成如下图所示:
下面结合安迪伺服铜须具体协议详细讲解宏指令编程应用方法:
我们想读取伺服驱动器的当前速度值,对应地址为:
安迪伺服系统读取参数(向驱动器的请求)通讯协议如下:
伺服系统运转速度值是一个整型变量,适用于上图方框中的格式。也就是HMI通过宏指令Putchar发送的数据格式。
伺服系统返回的数据格式如下:
上图方框中的数据格式是伺服驱动器接收读取命令后返回的参数值
内容格式,通过HMI宏指令Getchar接收的数据格式。
通讯数据校验码计算算法如下图所示:
结合此案例,我们想读取伺服速度值,参数地址为0003,那么发送的字符串为R000315,后两位校验码15=(52H+30H+30H+30H+33H)的低8位。
对于驱动器通讯返回的数据按照上面的协议换算后即可得出运转速度,注意数据对应关系4000H对应3000rpm。
完整的通讯Clock宏指令程序如下所示:
$100=3052H
$101=3030H
$102=0033H
$110=$100&&00ffH
$111=$100&& FF00H
$112=$101&&00ffH
$113=$101&& ff00H
$114=$102&&00ffH
$115=$111>>8
$116=$113>>8
$120=$110
$121=$115
$122=$112
$123=$116
$124=$114
$130=ADDSUMW($120, 5)
$131=$130&&00ffH
$140=TOASC($131)
$150=$142<<8
$103=$102|$150
$160=$100
$161=$101
$162=$103
$163=$143
SELECTCOM(1)
$20=PUTCHARS($160, 7, 500)
delay(200)
$21=GETCHARS($200, 7, 500)
delay(200)
$210=$200&& ff00H
$211=$201&&00ffH
$212=$201&& ff00H
$213=$202&&00ffH
$214=$210>>8
$215=$211
$216=$212>>8
$217=$213
$220=TOHEX($214)
IF$220>4000H THEN GOTO LABEL1
IF$220<=4000H THEN GOTO LABEL2
label1
$224=ffffH-$220
$230=$224*3000(DW)
$232=$230/16384(DW)
end
label2
$230=$220*3000(DW)
$232=$230/16384(DW)
$232=$232*-1(Signed DW)
end
【结束语】
根据客户的实际需要,应用台达HMI强大的宏指令自由协议通讯编程功能,实现了HMI读取伺服运转速度参数值,以此类推,还可以读取或者设定伺服其他参数值。对于非标准Modbus通讯协议的其他各种控制器均可以利用宏指令程序进行通讯连接,此案例体现台达HMI灵活的宏指令变成通讯技术应用特点,满足非标准通讯协议设备的通讯连接。