====== 远程编程-串口 使用说明 ====== 远程编程技术意指在远离设备的情况下,通过某种手段对远程的PLC或其他设备进行编程监控,然后根据监控数据对程序进行修改控制。FreeIOE的远程编程分为基于网络的远程编程和基于串口的远程编程。本文是对基于串口的远程编程功能进行介绍和说明的文章。 ---- ===== 功能概述 ===== 基于串口的远程编程是将连接现场设备的网关的串口虚拟到本地安装了编程软件的电脑上。让安装了编程软件的电脑如同本地连接设备一样。而且在设备端无需做任何配置,也无需保证设备是否能联网,只要按照在现场的FreeIOE网关能和现场设备通讯同时可以连接互联网即可。而在电脑端,也只需要安装搭建虚拟网络或虚拟串口的软件同时可以连接互联网即可。 通过基于串口的远程编程,你可以体验到如下功能: 1. 现场设备如何连接到了本地电脑一样(注:由于上网网速的影响,可能设备响应速度稍慢) 2. 和现场设备的连接完全是按需连接,需要时开启,不需要时关闭。 3. 整个过程全程加密压缩,既省流量,又安全可靠。 4. 显示编程软件和远程设备之间通过串口通讯的报文。 ===== 架构说明 ===== 现场的网关和编程软件所在电脑因为大多数情况下都位于内网环境中,并无互联网上的IP地址,因此是双方是无法直接连接的,因此我们在互联网上搭建了一系列的远程编程服务节点将现场的网关和编程软件电脑连接到一起。\\ 由于现场的网关和编程软件电脑都能访问到远程编程服务节点,因此双方带着特殊标识信息连接到响应速度最快的远程编程服务节点时,服务节点会为双方建立一个加密压缩的专用通道,将网关中的物理串口(连接现场设备)虚拟到编程软件所在电脑中。\\ 整个架构示意图如下: {{:apps:app00000135:pasted:20191126-160612.png}} ===== 如何使用 ===== ==== 准备工作 ==== 1. 现场的设备无需进行任何配置,将现场设备用于编程的串口连接到现场的FreeIOE网关备,同时现场的网关通过4G网络或其他方式接入Internet。FreeIOE网关联网后,会登录到对应的用户账号下。 2. 用户在编程软件所在的电脑上安装FreeIOE的远程编程软件[[http://thingscloud.oss-cn-beijing.aliyuncs.com/freeioe_Rprogramming/freeioe_Rprogramming.zip|freeioe_Rprogramming]]。 3.进入“远程编程-串口”的配置页面,会发现服务状态为异常,这是因为本地的远程编程软件freeioe_Rprogramming未安装或者未启动。 {{:apps:app00000377:pasted:20200528-175524.png}} 4. 下载FreeIOE的远程编程软件后,运行安装文件,按照提示将freeioe_Rprogramming安装到编程软件所在电脑。 安装界面1: \\ {{:apps:app00000377:pasted:20200528-175940.png}} 安装界面2,安装虚拟串口驱动1: \\ {{:apps:app00000135:pasted:20191126-182517.png}} 安装界面3,安装虚拟网络驱动: \\ {{:apps:app00000135:pasted:20191126-182533.png}} 安装界面4,安装虚拟串口驱动2: \\ {{:apps:app00000135:pasted:20191126-182551.png}} 安装界面5,安装介绍,启动服务控制面板: \\ {{:apps:app00000377:pasted:20200528-180111.png}} 安装界面6,服务控制面板: {{:apps:app00000377:pasted:20200528-180215.png}} 5. 切换到浏览器“远程编程-串口”的配置页面,页面中的服务状态已经显示正常了。 {{:apps:app00000377:pasted:20200528-180604.png}} 6. 页面中服务状态和应用状态显示为正常时,远程编程才能使用,页面分为2个部分:网关串口参数及工作状态和本地串口参数及工作状态。当远程编程服务启动后,我们可以看到远程网关中使用的串口编号及相关服务的状态,也可看到本地创建的虚拟串口编号以及此虚拟串口是否有程序在使用、程序的名称,以及收发字节数等信息。 7. 这里以三菱PLC为例(型号:FX3S)来说一下远程编程-串口的使用,三菱PLC(型号:FX3S)编程软件默认的串口参数为 9600/7/Even/1,我将三菱PLC(型号:FX3S)的编程口连接到网关的COM1(三菱PLC(型号:FX3S)的编程口一般为圆口,且是RS232模式,因此需要使用转换头将三菱PLC(型号:FX3S)的编程口转为标准的DB9接头或3针的RS232),点击启动按钮后,大约3~5秒,远程编程-串口的服务在网关端和本地端就启动完成了,这时,我们可以看见本地创建出来的虚拟串口是COM1,串口状态为已关闭(本地还没有程序在使用)。 {{:apps:app00000377:pasted:20200528-182555.png}} 8. 启动三菱PLC(型号:FX3S)编程软件,新建工程(系列是FXCPU,型号是FX3S),创建工程后,在左侧导航中切换到连接目标,双击“Connection1”,在弹出的“连接目标设置”窗口中,双击“Serial USB”选择连接PLC编程口的串口编号,这里选择的是刚刚本机创建出来的虚拟串口编号。然后点击“通信测试”按钮,如能和PLC正常通讯,则提示“已成功与FX3S CPU连接”,如无法和PLC连接,则是错误提示。 {{:apps:app00000130:pasted:20191202-114504.png}} 9. 接下来就可通过PLC编程软件对PLC进行任意的操作了,上传PLC工程,下载PLC工程,监视PLC运行状态等等。 {{:apps:app00000130:pasted:20191202-114832.png}} 10. 虚拟串口支持在线动态更改波特率,整个过程由PC端的PLC编程软件控制,无需人为参与。 {{:apps:app00000377:pasted:20200528-183030.png}} ===== 常见问题 ===== 1. 远程编程功能支持Linux系统吗? FreeIOE目前的远程编程功能暂不支持Windows之外的操作系统,而且Windows系统也只支持Windows 7及以后的Windows系统。 2. 打开远程编程页面服务状态提示异常? 这是由于本地操作系统中未安装FreeIOE的远程编程软件或者安装了软件但服务未启动。 在Windows的服务管理器中检查freeioe_programming_service服务是否安装并启动。 3. 远程编程是选择的远程编程服务节点是什么原理? 目前的远程编程服务节点是在互联网的各个区域部署了代理节点,每个节点提供的带宽峰值是100M, 客户端在选择远程编程服务节点时采用的是最快响应原则,最快响应的服务节点作为首选。 4. 远程编程-串口服务启动成功,但还是无法连接PLC? 在PLC那一端检查PLC的编程口和网关串口连接是否正确,远程编程-串口页面中选择的网关串口及串口参数是否正确, PLC编程软件中选择的通讯串口是否是页面中出现的串口编号,还可以打开虚拟串口的报文监视功能,看一看串口的通讯方向中IN和OUT是否都有数据, 如果您对PLC通讯的报文有所了解,可以看看收发的报文是否正确。 5. 远程编程-串口可支持同时开启多台网关的远程编程服务吗? 不支持 6. 远程编程-串口可支持多个用户同时开启同一网关的远程编程服务吗? 不支持,目前页面上没有作限制,但多个用户一旦对同一网关进行相同的操作,将只有最后一个用户可使用。 7. 远程编程服务freeioe_Rprogramming_service无法正常启动? 极有可能是freeioe_Rprogramming依赖的环境被破坏,建议使用“远程编程控制面板”上“卸载”按钮移除服务后,再次点击“安装”按钮重新注册环境及安装服务。 ===== 视频分享 ===== [[http://1254404623.vod2.myqcloud.com/e9ab2701vodcq1254404623/7b9f0bc85285890796369318998/HxDmtMggb6gA.mp4|串口远程编程-三菱PLC-FX系列]] [[http://1254404623.vod2.myqcloud.com/e9ab2701vodcq1254404623/00d297bf5285890795286883265/hdiWQTJXvJcA.mp4|串口远程编程-S7-200-PPI]] [[http://1254404623.vod2.myqcloud.com/e9ab2701vodcq1254404623/79d6259a5285890796369290238/Rxqeo3ob4owA.mp4|串口远程编程-基恩士PLC]]