3分钟快速实现EG网关串口连接台达PLC
EG网关串口连接台达PLC
前言:台达PLC是一款国产优秀的可编程控制器,广泛应于工业控制领域,是一款性能高,运行稳定的控制器。此次我们要把台达DVP-ES系列PLC通过modbus驱动连接到EMCP物联网云平台(简称EMCP),实现电脑Web网页、手机APP和微信对台达PLC(D0/D1/Y0/Y2)寄存器的远程监控和D100和Y20的远程读写。
一 准备工作
1.1 在对接前我们需准备如下物品
台达PLC一台(注意带COM2或3通讯串口),和自带的编程电缆。河北蓝蜂科技的EG20网关一台,天线和电源适配器(以下用EG20作为实例)。SIM卡一张,有流量,大卡(移动,联通或者电信卡)。联网电脑一台(WinXP/Win7/Win8/Win10操作系统)。电工工具、导线若干。1.2 EG20网关准备工作
网关相关技术参数与使用说明,可参考《EG20用户使用手册》。
保证网关可以正常联网,可通过4G卡(移动/联通/电信流量卡,大卡)联网(需接上随网关附带的天线)或通过网线联网(需将路由器出来的网线接到网关的WAN口);网关接12V或24V直流电源,上电。(注意,电源正负极不要接反)。1.3 PLC准备工作
PLC连接电源(注意电源是24VDC还是220VAC),将编程电缆插上PLC的COM1口,另一端连电脑的COM口(或是USB-232线),PLC的485串口(COM2 +/-端子)连接到EG20的485A和485B接线端子(也可以使用COM3,这里统一按COM2口进行讲解)。如下图:
二 PLC的 modbus从站创建
打开《Delta WPLSoft》编程软件,打开程序,选择好自己的PLC型号和COM1编程通讯参数。然后进行COM2的RS485通讯参数设定,本文使用DVP-60ES型号进行说明,其他同系列型号操作基本一致。
在梯形图编辑窗口中,选中一行空白行,点击菜单栏的“向导”,选择“通讯程序”,如下图。
进入COM口参数选择界面,(某些型号会让您选择设定的COM口,选择自己要连接EG20的PLC串口,这里我们选择COM2)选择完COM口后点击“下一步”。设置COM2串口参数进行如下图设置。确保设置无误后点击“下一步”,
然后选择选择通讯应用中选择“MODBUS数据传输/MODRD/MODWR/MODRW指令”之后一直点击“下一步”。在新窗口中保持默认设置,然后点击“完成”。
在梯形图中自动生成通讯参数程序,如下图:
台达PLC内部集成了MODBUS-RTU功能,按如上对COM2口的通讯设置就完成了台达PLC MODBUS从站的建立。
三 EMCP平台设置
用管理员账号登录EMCP平台www.lfemcp.com (建议使用360浏览器极速模式、谷歌浏览器(Google Chrome)或者支持Chromium内核的浏览器),对EMCP云平台进行设置。具体操作参照《EMCP物联网云平台用户手册》。登录EMCP后首先进入设备列表显示页面,因为我们未创建任何设备,所以是一个空页面,我们需要按照以下步骤进行操作。
3.1 新增EG设备
步骤:点击【后台管理】(只有管理账号才有此权限)→【设备中心】→【EG设备管理】→【+新增】→ 填写设备信息→点击【保存】。其中,【设备名称】必填,其余选项均可选填。
3.2 远程配置网关
EG设备管理网关配置中最主要两个地方需要配置,一是配置网串口通讯参数,二是创建modbus驱动,下面分步骤对此功能进行讲解。注:网关只有在线后才可以进行远程配置。
3.2.1 网关绑定
步骤:点击【保存并下一步】后进入【②:网关、仪表管理】,填写【SN编号】和【验证码】→【保存并下一步】。
SN和验证码在网关的机壳标签上,SN为12位纯阿拉伯数字,验证码为6位英文字母,【备注】可以根据需求填写,编辑完成后点击【保存并下一步】。
此时在“网关基本信息中”可以看到绑定的网关是否连接到平台(成功登录平台可以看到“在线”绿色字样,如果不成功则显示“离线”灰色字样,此时请检查网络或网络信号)。
此时在右侧“网关基本信息中”可以看到绑定的网关是否连接到平台(成功登录平台可以看到“在线”绿色字样,如果不成功则显示“离线”灰色字样,此时请检查网络或网络信号)。
3.2.2通讯参数设置
我们需要用RS485跟设备进行通讯,所以我们要设置RS485的通讯参数。步骤:点击【通讯口配置】→选择【RS485配置】在弹出窗口中设置【波特率】【数据位】【数据校验】【停止位】通讯参数→点击【保存】。
3.2.3创建设备驱动
在通讯参数设置完成后,点击界面中央的【添加驱动】→填写设备驱动信息→【保存】。或者点击【+新增】也可以进行添加驱动的操作。
基本配置介绍:
【通讯口】:在下拉选项中选择RS485。
【通讯口配置】:此按钮可设置通讯口参数,和之前的步骤设置相同,如果之前设置过,则不需要再次点击此项。
【驱动名称】:必填项,自定义即可
【品牌】:必填项,选择“通用modbus设备”。
【型号】:必填项,选择“Modbus RTU”。
【设备地址】:必填项,设备地址根据台达PLC设置的从站号进行填写,本案例PLC从站号为“1”,所以此处填“1”。
高级配置介绍:
【最小采集时间】:是网关采集设备数据的时间间隔,单位:ms。如设置1000ms,即网关1s采集一次设备数据。
【通讯等待时间】:网关接收通讯数据等待时间。可根据需要进行调整,默认1000ms。
【16位整型】、【32位整型】、【32位浮点型】:是指对应数据类型的解码顺序。如果厂家给的表格没有标明,建议不要进行修改,直接选择默认即可。
【分块采集方式】:0— 按最大长度分块:采集分块按最大块长处理, 对地址不连续但地址相近的多个分块,分为一块一次性读取,以优化采集效率;1— 按连续地址分块:采集分块按地址连续性处理,对地址不连续的多个分块, 每次只采集连续地址,不做优化处理。直接选择默认即可。
【4区16位写功能码】:写4区单字时功能码的选择。直接选择默认即可。
3.2.4添加变量
步骤:点击【③:变量管理】→【+添加变量】→填写变量信息→【保存】。
变量介绍:
【仪表、PLC】:必填,选择刚才创建的台达PLC即可。
【变量名称】:必填,自定义即可。注意不能有重复的名称。
【单位】:非必填,自定义即可。在列表展示时,变量会带上单位展示。
【寄存器类型】:必填,在台达PLC中,0XXXXX对应【线圈(0x)】;1XXXXX对应【离散量(1x)】;4XXXXX对应【保持寄存器(4x)】。
【寄存器地址】:必填,地址填写时不带寄存区标志符,具体对应设置见下方图片。
【数据类型】:必填,根据实际需要选择即可。
【小数位数】:非必填,根据需求填写。
【死区设置】:非必填,默认即可。根据需要填写即可。更详细的说明请参考后面“?”帮助。
【状态列表】:非必填。可将数值直接与文本映射。如值为“10”,映射字段为“设备故障”,则当采集到变量的值为“10”时,会直接在设备监控和历史报表中显示“设备故障”。
【数值运算】:非必填。可将采集到的数据根据填写的公式进行计算,更详细的说明请参考后面的“?”帮助。
【读写方式】:可根据需求自行修改该寄存器的读写方式,默认为只读。
PLC内部寄存器与MODBUS地址对应关系在《台达PLC通讯协议v1.1》中有详细说明,如下图:
PLC各寄存区变量在平台添加填写示例如下图所示:
寄存器类型
PLC内部地址
变量列举
寄存器地址
线圈(0x)
S,Y,T,M,C
M1(000001)
2050
离散量输入(1x)
X
X10(101035)
1035
保持寄存器(4x)
T(word),C(word), D
T100(word)(40163)
1637
输入寄存器(3x)
无
注:根据台达PLC寄存器地址和Modbus地址对应关系表进行设置。
添加完成后,【变量管理】如下图所示,此时可以点击【数据测试】按钮检查变量值能否采集到,或者值是否正确。
3.3 报警信息设置
可以根据需要给变量设置报警,当产生报警时,会在电脑网页端进行报警展示,在手机APP和微信进行报警推送。设置步骤:点击需要报警的变量后面的【报警】→【新增】→填写报警信息与条件→【确定】。如下图所示:
3.4 历史报表管理
创建完变量后可以点击“④历史报表管理”根据自己的需求创建历史报表。【历史报表】可以满足不同的应用场景下,来记录历史数据,【历史曲线】是根据报表生成的曲线,方便客户以曲线形式查看变量变化趋势。如下图界面所示:
周期存储:按照固定时间间隔,定时对数据存储记录。
条件存储:当某一变量到达一定条件,对部分数据进行“间隔存储”或“单次存储”。
变化存储:当某一变量变化超出一定范围后(高低限),对部分数据进行单次记录(如:某一数据报警后对关联数据进行记录)。
3.5 画面组态
点击【⑤组态管理】即可进入组态管理界面,此处可以设置数据监控中的展示方式(组态展示或列表展示,默认为组态展示)。可以在此处选择使用组态展示形式来展示对应数据规则。
如下图界面所示:
点击界面中间的组态界面列表后方的【编辑】项,进入编辑页面。通过组态编辑页面我们可以任意绘制图片、文字、数显框、按钮、指示灯、管道、设备等控件,详细功能请参考《EG设备组态编辑使用说明》。
四 实验效果
《WPLSoft》编程软件与PLC联机后,点击在线监控装置表,监控要读取的数据实际值,示例如下图;
用户登录EMCP平台(www.lfemcp.com),点击”台达PLC“设备的图片或设备名称进入EG设备即可查看、修改相关数据。
ABB机器人编程实用技巧,多项案例
今日分享ABB机器人Pdisp 轨迹偏移使用、单工位多次预约程序、在robotstudio创建两台机器人的socket连接、双工位预约程序、与相机通讯的Socket收发数据处理与提取、如何创建数组等编程技巧,感兴趣的小伙伴尽快收藏!
01
PART
ABB机器人Pdisp 轨迹偏移使用
1.如果有下图两个产品,已经完成了右边产品轨迹,左边产品估计一样,如何快速生成左边轨迹(左边产品可能有平移和旋转)。
2.完成右边轨迹示教Path_30,如上图。起点为Target_20。
3. 完成左边起点的示教,为Target_ref_start,如下图。
注:如果左边产品轨迹有旋转,示教的Target_ref_start相对于左边产品的姿态要和Target_20相对于右边产品的姿态一致(此处左边产品旋转了30°,示教的角度z方向也旋转了30°)
4) 插入指令如下
MoveJ pHome,v1000,z100,tWeldGunWObj:=wobj0;//移动到Home位置
Path_30;//运行右边产品轨迹
MoveJpHome,v1000,z100,tWeldGunWObj:=wobj0;//回到Home
MoveJTarget_ref_start,v1000,fine,tWeldGunWObj:=wobj0;//走到左边产品起点
ConfJOff;//因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报错 ConfLOff; //因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报错
PDispOnRot,Target_20,tWeldGun;//设定当前位置和Target_20的偏差关系(包括平移和旋转),因为此时机器人停在Target_ref_start起点,即设定左边轨迹和右边轨迹的整体偏移关系。使用 ot表示平移和旋转均计算。如果不使用 ot,则只使用平移,旋转不计算
Path_30;//运行原有轨迹,此时轨迹参考坐标移动关系,机器人实际走左边产品轨迹
PDispOff;//轨迹完成,关闭平移关系
MoveJ pHome,v1000,z100,tWeldGunWObj:=wobj0;
02
PART
ABB机器人单工位多次预约程序
1.机器人有程序如下:
2.工艺过程如下:
机器人在home等待。有人按过di信号,机器人开始执行。人工可以一次性多次预约,即如果人工一次性按过3次,机器人执行三次。
3.我们通过中断来实现。
4.中断的意义为,机器人后台在不断扫描(类似PLC),和机器人前台运动不冲突。后台实时扫描到信号就会去执行设定的中断程序,中断程序里没有运动指令,前台机器人不停,不影响运动
5.新建一个例行程序,取名tr_1,注意:类型选中断(trap)
6.进入中断程序,插入指令如下,即当机器人执行中断程序时,给reg1记录次数加1
7.进入主程序,设置中断及对应的io信号
37行的意思是,任何时候di_1信号0变1,就会触发执行tr_1中断程序,即置flag1为true
35-37行程序只要运行过一遍即可,类似于设置开关,不需要反复运行
8. 主要程序如下。即如果reg1=0,机器人在home等待
03
PART
在robotstudio创建两台机器人的socket连接
1.什么是socket通讯?
就是TCP/IP通讯,无协议,在微软环境下称为socket。
2.socket通讯能干什么?
可以收发制定的数据,包括sting字符串,byte数组等。
3.创建socket机器人需要什么选项?
机器人需要616-1 PC-INTERFACE选项。
4.socket通讯网线插哪个网口?
Service口(IP固定:192.168.125.1)或者Wan口都可以(可以自己设置)。
5.创建client端的实例
通常机器人和相机通讯,机器人作为client端。
a、新建一个机器人系统,注意建立系统时加入pc-interface选项。
b、为了避免之前的连接没有关闭,先插入socketclose指令,后面的socket1为自己新建的socketdev类型的变量。
c、之后插入创建连接socketCreate。
d、插入建立连接SocketConnect,后面需要制定Server的ip和端口,如果是在电脑和另一台虚拟控制器连接,ip设为“127.0.0.1”,端口自定义,建议不要用默认的1025。
这一步作用为机器人会和server建立连接,如果没有建立成功会一直等待,如果成功则往下执行。
e、此处做测试,在建立成功后,插入TPWrite指令,可以在示教器看到socketclinent connect successful。
f、接下去可以收发数据,此处示例为client先发送数据给server,再接受server发送回来的数据。
g、SocketSend后面可以发送string或者byte数组,具体可以选择不同可选变量。
h、发送完毕后,client接受到server发回的数据并写屏。
6.以下为server端示例
a、重新创建一个工作站,创建时不要忘记添加pcinterface选项。
b、作为server,机器人需要创建2个socketdev变量。
c、为了避免之前的连接没有关闭,同样建议先socketclose。
d、
e、接着创建socketCreatetemp_socket 服务器端socketdev。
f、SocketBind为绑定socket要监控的ip和端口,如果是虚拟仿真,ip为127.0.0.1,端口自定义(和client端设置一致)。
g、SocketListen为机器人server监听是否有client连接。
h、socketAccept为接受client的连接。
i、建立连接后,机器人就可以执行死循环,即一直处于收发状态。
j、 之前client程序为client先发后收,故这里server先收后发。
7.client和server都写完后,可以运行,注意先运行server端,即server机器人处于监听状态,如果连上,两台相互通讯,效果如下:
8.server机器人收到的讯息如下:
9. client机器人收到的讯息如下:
04
PART
双工位预约程序
1)有如下双工位生产
2)工艺过程如下:
人工完成1#工位上料后按按钮di_1(按钮不带保持,即人手松开信号为0))机器人焊接1#工位。
此过程中人工对2#工位上下料,完成后按di_2完成预约(即不需要等机器人完成1#工作)。
机器人完成1#工作后,由于收到过di_2预约信号,机器人自动去完成2#工位
3)我们通过中断来实现。
4)中断的意义为,机器人后台在不断扫描(类似PLC),和机器人前台运动不冲突。后台实时扫描到信号就会去执行设定的中断程序,中断程序里没有运动指令,前台机器人不停,不影响运动
5)新建一个例行程序,取名tr_1,注意:类型选中断(trap)
6)进入中断程序,插入指令如下,即当机器人执行中断程序时,给bool量置true
同理设置第二个中断程序
7)进入主程序,设置中断及对应的io信号
37行的意思是,任何时候di_1信号0变1,就会触发执行tr_1中断程序,即置flag1为true
35-40行程序只要运行过一遍即可,类似于设置开关,不需要反复运行
8)主要程序如下。即如果没有人给di信号,机器人就在home位等待。
9)
05
PART
与相机通讯的Socket收发数据处理与提取
1)相机通常发送字符串给机器人,比如”1.23,4.56,7.89D”,即x为1.23,y为4.56,z的角度为7.89,用D作为结束符,数据之间用“,”隔开。
2)如果机器人收到上述字符串,如何把字符串提取出来并付给变量deltaX,deltaY,和thetaZ?
3)建立若干num变量,用以存储过程数据,比如StartBit1,表示x的数据从第几位开始,Endbit1表示x的数据结束是第几位,Lenbit1表示x数据的长度,s1表示提取的x的值的字符串
4)
5)先假设x的第一位是1,给Startbit1赋值为1
6)插入函数strfind,查找第一个“,”在第几位,得到EndBit1值
7)
8)EndBit1减去StartBit1就是x的数据长度
9)同理得到y和theta的信息
10)通过StrPart函数,提取从StartBit1开始到LenBit1结束的字符串,即x的值的字符串
11)
12) 同理得到y和z的字符串
13)通过StrToVal函数,把s1转为num型,付给delta_x, StrToVal函数的反馈值为bool量,即转换成功为true不成功为false
14)同理得到delta_y和delta_theta
15) 成功后可以写屏测试,如下图
06
PART
ABB机器人如何创建数组
1)什么是数组?
将相同数据类型的元素按一定顺序排列的集合
2)有什么用?
比如创建一个robtarget类型的数组p_array,p_array里有10个点位,走完10个位置就可以用如下代码,方便简洁
FOR i FROM 1 TO 10 DO
MoveL p_array{i},v500,z1,tool0;
ENDFOR
3)哪些数据类型能创建数组
所有数据类型都可以创建数组
4)数组最大几维?
ABB机器人">ABB机器人数组最大三维!
5)数组起始序号是0还是1?
是1
6)如何创建
a、程序数据
b、选中类型,比如Robtarget
c、新建,设置名称,维数(这里举例1维),每个维度的元素数量(举例为10)
d、创建完,就有了一个10个数据的p_array,
e、修改点位,点击上图上某一行,修改位置,即把数组里的某一个元素位置修改了。
相关问答
plc控制系统的软件?
一、西门子系列1、西门子S7-200系列plc编程软件STEP_7_MicroWIN_V4.0_incl_SP92、西门子S7-SMART_200系列PLC编程软件STEP_7_MicroWI...
DeltaV系统控制器的后备电池在哪?-盖德问答-化工人互助问答社区
deltav可以冷启动,不会丢失数据,也没有电池。deltav似乎是不需要后备电池,他的机制与其他的系统不同。我们厂目前用的就是daltav系统,这个系统...
可否使用PLC来实现批量控制?-盖德问答-化工人互助问答社区
可否使用plc来实现批量控制?有的话希望有人传授下制作批量控制的心得。
PCS7与DELTAV的区别和共性-盖德问答-化工人互助问答社区
确实是deltav比较好用,pcs7就是大型plc了pcs7就是一个大型plc,西门子毕竟不是专门做dcs的,缺少大项目经验,青岛大炼油中差不多边研发边组态
帮个忙各位老司机,谁明白 台达oa软件下载考勤?台达机器人...
[回答]这是网站oa.deltaww.com.cn,进入会有安卓版本和苹果版本,我在台达上班松开后出现询问框,点否。机器人模型上就出现刚刚添加的工具了。以上就是abb...
PLC哪个品牌的好?
您好,PLC(ProgrammableLogicController)是一种用于自动化控制的电子设备,广泛应用于工业控制系统中。市场上有许多知名的PLC品牌,每个品牌都有其特点和优...
dvp-32eh属于哪个系列?
dvp-32eh是台湾台达(Delta)电气公司的型号命名。它属于台达的DVP-EH系列,这是一款高性能的PLC(可编程逻辑控制器)系列产品。DVP-EH系列具有强大的功能扩展性...
工业机器人行业还能使用多久?
供给端:工业机器人产量大幅增长当前,新一轮科技革命和产业变革加速演进,新一代信息技术、生物技术、新能源、新材料等与机器人技术深度融合,机器人产业迎来...
国产PLC有哪几家比较好?
亿维这个品牌好用亿维自动化PLC品牌创立于2004年,以西门子系列兼容替代为路线,“致力于成为全球领先、受人尊敬的工业自动化产品与服务提供商”为愿景,公司集...
运用ASPEN查看纯物质物性-盖德问答-化工人互助问答社区
我得承认我才知道。相当的实用了。多谢楼主,我用aspen三年了,也不知道:loveliness:11#llbear楼主提到的物性应该跟状态有关,如果改变温度或压力...