上位机怎么实现远程控制PLC
上位机和PLC不在同一个地方,需要远程控制PLC,怎么实现呢?
原文出自:巨控湖南办
上位机远程控制PLC,就需要解决上位机和PLC的远程通讯问题,远距离通讯,一个厂区内还可以拉光纤。但是以地或者距离非常远,这种方式就不适合,就需要通过以太网,现在随着4G/5G网络发展且流量资费大幅下降,采用4G/5G无线联网的方式非常便捷。互联网是通过节点连接的,上位机怎么找到异地的PLC,要是需要自控工程师自己配置网络节点,打通网络通道,这样要求自控工程师还要掌握网络工程师的技术,而且要保障稳定可靠,这个要求就非常高了。随着工业物联网的需求快速发展,就出现了专门研究PLC联网的厂家,专门研究生产PLC物联网模块,物联网模块能简单快速在PLC和上位机之间形成网络通道,这个配置类似黑盒子,厂家运用各种网络通讯技术封装好,做成友好的人机通讯设置,自控工程师只需要按照厂家的说明简单设置,就能连通上位机和PLC。从而实现上位机远程控制制PLC。
PLC远程模块目前主流的技术都是用云服务器中转的方式,这种技术成熟,能做到最大程度的简化远程两端的联网设置。前端物联网硬件内置云服务器IP或者域名,模块联网后自动连接云服务器,上位机端一般安装一个联网软件,上位机启动软件后,基本是一键自动连接云服务器,再给云服务器发送需要连接前端物联网的序号,云服务器就会依据上位机这边的请求,将前端模块和上位机配对起来,实现他们之间的网络连接。上位机可以同时连接多个前端模块,这个网络配置都是云服务器自动完成,上位机只需要发送需要连接模块的序号即可,这样就可以实现上位机远程程监控多个不同地方的PLC。
上位机远程控制PLC的远程模块又分两种:一种是透传模块,这种模块就功能就是打通网络通道,利用上位机的协议和PLC的协议匹配。透传模块这种方式做程序远程下载还可以,但是做长时间的监控,就不稳定了。因为PLC协议自身就不是网络通讯协议,且网络干扰比较大,这种透传传输,对网络稳定性要求很高,且很占带宽,因此这种方式做控制,不可靠。第二种是协议转换网关,这种网关自带各种PLC协议,将PLC的协议解析,转换为适合网络通讯的协议,这个转换是双向的。PLC的寄存器地址映射为变量,同步到云服务器上,与服务器提供标准的接口,上位机按照服务器的接口协议,读写服务器上对用序号模块的变量,从而实现PLC远程控制。服务器对外接口有OPC UA/DA, HTTPS,MQTT等。广州巨控的远程控制模块,就是这一种,广州巨控专注于PLC远程控制13年,产品经过多次换代迭代,产品使用便捷,通讯稳定可靠。
上位机编程系列开发语言C#,与PLC通信
什么是C#语言?
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。此种语言为在分布式环境中的开发提供适用的组件开发应用。
为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。对国际化的支持非常重要。C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。
随着科技的发展,工业控制也朝着个性化、智能化、数据化的方向发展,上位机的地位也越来越重要,而如何快速进行数据的采集、存储、利用尤其重要。
C#是工业控制中常用的上位机开发语言,具有开发速度快,运行速度快,扩展库丰富,开发门槛低,使用范围广的特点。
下面我们就来了解一下C#开发软件的安装配置,如何快速读写数据、解析数据、结合Sqlite存储数据以及导入导出Excel表格!
C#编程与PLC通信
示例图
所需基础
1.自动化/IT相关专业师生
2.电气工程师
3.系统集成及应用工程师
4.有意向学习上位机开发的爱好者
学习,必须学会的几个知识点:
1.C语言基础
2.了解西门子PLC
课程大纲
讲师简介
李福来
李福来老师长期从事电气自动化及其上位机开发工作,有着长年的产品知识的积累、掌握丰富的现场应用案例,以及多种复杂疑难案例的处理经验。
对PLC与上位机的结合有着独到的见解和丰富的经验,开发过多款上位机软件,精通Sqlite、Sqlserver等工控常用数据库。
相关问答
用C#编程实现上位机(PLC)?
使用C#完全能够对PLC不管是三菱还是SIEMENS还是OMRON的PLC进行控制,协议有很多种,介绍一个开发库HSLCommunication开源,有时间可以了解以下可实现任何普通...
求大神,上位机与plc是怎么通讯的,原理是什么?
首先要知道,什么是上位机,A控制B,那A就是上位机,A发送协议内规定的一串数据,B接收到确认数据没错再返回其对应的数据。相对应的B就是下位机,plc常见的上位...
上位机如何发指令给plc?
上位机可以通过以下几种方法向PLC发送指令:1.串口通信:上位机通过串口(如RS-232、RS-485)与PLC进行通信,通过发送特定的指令格式实现与PLC的数据交互。2...
plc与上位机是怎么区别的/?
上位机有显示、操作、数据处理、程序的编辑等功能,PLC是程序的处理、运行,接收设备的状态信息,控制设备的运行状态上位机有显示、操作、数据处理、程序的编辑...
PLC中的上位机和下位机是什么东西?
上位机一般指可以直接发出操控命令的计算机或者触摸屏下位机直接控制设备获取设备状况,多数是PLC上位机一般指可以直接发出操控命令的计算机或者触摸屏下位...
基于Windows环境与PLC相连的上位机监控操作软件用什么组态好?
这类的上位机监控软件很多。基本都大同小异。每种组态软件因行业原因,使用率也不一样。不过都是个人爱好,行业习惯而已。比如国外的组态软件常用的有原来英维...
如何用西门子PLC做上位机控制ArduinoUNOR3?
PLC和arduino都是做下端的,要做上端,西门子的,就要用winccPLC和arduino都是做下端的,要做上端,西门子的,就要用wincc
三菱FX1N的PLC上位机通过MODBUS协议通讯,怎么操作呢?
看了下,DAM-3381只是作为DAM-37XX系列模块与三菱PLC通讯连接的桥梁,看着就一转换器,PLC端如果不需要编程的话应该是用的计算机链接功能,但这不是MODBUS协议的...
上位机和plc哪个更有前途?
plc和上位机都是工控自动化领域里核心部件之一。plc负责执行,上位机负责人机交互。那么究竟应该先学哪一个,不同公司,不同个人情况都不一样。有的公司plc和上...
西门子300plc与上位机组态王怎样用以太网通讯?
首先:硬件上,PLC自带网口,或者配CP343-1以太网模块,或者第三方MPI/DP转以太网模块;其次:组态王上,选择西门子以太网驱动S7300tcp;最后:组态王的连接中...首...