全国服务热线 15221406036

西门子6ES7214-1AD23-0XB8千万库存

更新时间:2024-05-08 07:10:00
价格:请来电询价
联系电话:
联系手机: 15221406036
联系人:聂航
让卖家联系我
详细介绍

西门子6ES7214-1AD23-0XB8千万库存

4.通信程序的具体实现

  在新建VB工程后,需要执行VB工具栏“工程/部件” 命令,将Winsock控件添加到工程中, 并命名为“WskClient”。程序采用TCP/IP协议进行通信,其主要属性设定如下:

  With WskClient

  .Protocol = sckTCPProtocol ‘采用TCP/IP协议

  .LocalPort = 9600 ‘本地计算机端口号

  .RemoteHost = txtIP.Text ‘取得远程PLC的IP地址

  .RemotePort = txtPort.Text ‘远程PLC端口号

  .Bind 9600 ‘指定使用的本地端口

  End With

  初始化工作完成后向PLC提出连接请求,待PLC接受请求并发送应答信息后,客户端程序依照各种帧格式建立好要发送的信息帧,就可以与PLC进行双向的数据交流了。在这一过程中,可建立发送失败后的重发机制,以增强通信的可靠性。

  首先,建立并发送“握手信息”指令(20字节),指明客户机节点号;当计算机接收到PLC返回帧(24字节)后,检查PLC是否收到命令,并取得服务器和客户机节点号。当计算机接收到PLC返回的数据时,会产生DataArrival事件,参数BytesTotal包含接收到的数据字节数。在DataArrival事件中,可以调用GetData方法接收数据。如果接收到Close事件,则用Close方法关闭连接。另外,可用Winsock的State属性来反映当前TCP/IP的连接状态。这里仅列举主要程序如下:

  ‘向服务器请求连接

  WskClient.Connect

  TimeDelay 100

  Do

  DoEvents

  Loop Until WskClient.state=sckConnected

  ‘建立并发送FINS命令帧

  Private Sub SendData_Click()

  ReDim SendData (19) As Byte

  SendData (0) = &H46‘FINS命令帧报头的第1个字节

  ……

  WskClient.SendData SendData() ‘发送FINS命令帧

  End Sub

  ‘接收PLC响应帧,并分析数据

  Private Sub WskClient_DataArrival(ByVal bytesTotal As Long)

  Dim i As Integer

  ReDim ArriveData(bytesTotal) As Byte

  wsk.GetData ArriveData, vbArray + vbByte, bytesTotal

  ‘接收数据,保存在ArriveData数组中

  For i = 0 To bytesTotal - 1

  txtArData.Text = txtArData.Text & " " & ArriveData (i)

  Next i

  ……‘其它数据处理

  If ArriveData(7) <> 16 Then

  MsgBox“接收信息丢失“

  ElseIf SendData(19)= ArriveData (bytesTotal-5) Then

  MsgBox“节点地址错误“

  End If

  End If

  在接收信息后,当PLC收到传输过去的信息后,会将对应的命令反馈值传回,这个事件程序内的程序将它显示在文本框中,还可作进一步处理。主程序流程图如图4所示。

 

程序流程图
图4 程序流程图

 

  若采用UDP协议,则通信的基本过程与TCP相同,只是不需要建立连接。此外,UDP应用程序可以是客户机,也可以是服务器,而不必象TCP应用程序那样必须分别建立客户机程序和服务器程序。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。因此如果网络中设备不是很多,且发送数据量不大时,可选择耗费计算机“资源”更小的UDP协议进行通信。

5.结束语

  采用Winsock控件实现的上位机以太网通信程序,已成功应用于数字小样并条机监控系统中,该法简单实用,在不追加投资的情况下,实现车间设备的网络数据实时监控的功能,达到了理想的效果。而且以VB作为监控软件的开发平台,软件的二次开发不受限制,节约成本,并可根据需要随时对程序进行升级。为实现对控制系统进行有效的信息管理与监控,基于以太网的PLC控制系统必将有更为广泛的应用,本文的论述对解决这类问题提供了一定参考价值。

1.概述

  在该应用案例中,用户具有分布于世界各地的PLC,用户想通过任何一台能够连接到Internet的计算机对PLC的工作状态进行访问和修改。远程控制技术,避免了用户需要到现场诊断的麻烦,节省了人力物力。

  上海卓岚科技的联网产品包括:嵌入式设备联网模块、串口服务器等。使用卓岚联网设备进行设备远程监控的示意图如下图所示。

  设备远程监控的示意图

  如图所示假如用户设备是一个类似PLC的带串口(DB9)的设备,则可以通过卓岚串口服务器连接到网络;如果用户设备电路板是可以重新设计的,则可以选用卓岚联网模块,并将其集成到用户电路板。两种方案在原理上是相同的。

  在远程计算机端,卓岚科技提供了3种方式方便用户和联网产品通信:

  1.卓岚设备管理DLL+VB等程序。提供的DLL设备管理函数库,可以被用户程序所调用,用户只需使用提供的open、close、send、recv

  函数,即可实现通信。

  2.串口程序+虚拟串口驱动。例如三菱PLC需要通过MELSOFT开发环境和PLC通信,某些Modbus设备则通过三维力控软件和设备通信,它们都是现成的串口程序。使用卓岚虚拟串口驱动,可以在网络化升级后,仍然使用这些串口程序。

  3.Socket网络程序:对于用户,可以选择通过TCP/IP直接和联网产品通信。

2.域名(DNS)系统

  域名系统的支持是远程控制的关键技术。目前网络接入以ADSL接入网络占绝大多数,但是若远程计算机通过ADSL联网,每次的IP是不同,必须解决设备如何知道远程计算机IP的问题,解决的方法是动态域名系统。

  在卓岚远程控制技术中,远程计算机通过动态域名服务在每次联网时都可以获得全球唯一的域名,例如yourname.gicp.com。卓岚联网产品支持域名,可以用域名指定通信的的目的地址,例如将其设置为yourname.gicp.com。

  这样,无论远程计算机在何时何地通过ADSL接入网络,卓岚联网产品都可以在时间和其建立TCP连接。

3.网络地址映射(NAT)技术

  NAT技术是解决两个内网之间计算机如何互联的技术。对于初次接触TCP/IP的用户,可能对于内网IP(例如192.168.0.200)、外网IP(例如114.123.223.12)、外网计算机如何访问内网计算机比较迷惑。外网计算机连接内网计算机时,不能简单地向该计算机的内网IP发起连接。这里关系到网络地址映射NAT技术。NAT技术可以在ADSL路由器上做一个NAT映射,将用户的内网IP映射为外网IP和端口。

  在卓岚的设备远程控制应用案例中,提供了如何使用网络地址映射(NAT)技术实现网络连接的操作步骤,由于篇幅所限这里不详述。

4.创新的断网恢复机制

  TCP连接的不正常中断在设备远程监控中比在局域网中更加常见,因为在Internet环境下,中间的任何一台路由器出现问题都可以导致连接中断。

  断网在远程监控中产生如下问题:假如客户端和服务端建立TCP连接后,服务端由于掉电等原因重新启动,那么客户端将不再能够和服务端建立连接。原因很简单,因为客户端认为连接已经建立,这导致了服务端无法向客户端发送数据。

  心跳包技术是目前常见的断网恢复机制,但是该方案并没有写入TCP/IP规范,原始是心跳包技术存在很多争议的负影响,例如增加了网络负担等。

  卓岚的设备管理DLL库和虚拟串口驱动内部集成了创新的断网恢复机制,采用优于心跳包的技术,可以在服务端、客户端、中间路由器任何一方断网情况下,迅速恢复连接。

  从06年开始使用海为PLC至今有3年多了吧,帮海为卖了不少自己也使用了不少,一直想写一两篇关于海为PLC的应用文章,可惜文笔不好加上时间有限一直都没有动手去做,而这次感觉不写不行了,觉得确实应该支持支持国产海为PLC。
今年春节过后不久,海为公司给了我一条新指令的升级程序,这条指令是FTC——模糊温度控制指令,让我公司帮助找几个温度控制应用的项目测试一下实际温度控制的效果。据海为公司开发人员说,这条指令他们已经研究了很久,在多个不同的温度控制对象上测试效果很好,而且使用非常简单,不需要设定任何参数,只要将实际温度PV和设定温度SV传给它就可以,完全自动适应控制对象自动调节,我听了可以说是非常感兴趣,答应帮助。
     可项目不是说有就有的,我想我先自己玩玩吧,先控制个电烙铁看看效果吧,把电烙铁的头卸了找一个PT100热电阻插进去固定好,用一台经济型主机HW-E16ZS220T晶体管输出加一个热电阻模块HW-S04RC024N,控制使用Y4输出控制固态继电器,固态继电器输出控制电烙铁,海为的温度模块默认就是使用工程量,AI寄存器的值就是温度值(带一个小数,就是单位为0.1°),不需要程序做任何处理很方便,看下面的图。
Haiwell(海为PLC)模糊温度控制应用设计


、前言:中国工业领域一直以来对于国产PLC有一种排斥的心理:受制于品牌的劣势,总是以极低的价格去冲击市场,而由此造成的直接后果就是缩短研发周期,缩减研发经费,选择临界质量的硬件以达到压缩硬件成本的目的。一个恶性循环就此形成,似乎永远也不可能消失的品牌劣势!当然,口号的力量永远微乎其微,而市场对于质量的认可与否才是建立品牌有力的推手。作为国产大中型PLC的者,南大傲拓科技为了改变工业领域一直以来对于国产PLC的消费观念,我们力求研发团队的完整性,做到任何一个细节的至善至美。软硬件研发的自主知识产权及强大的自主创新能力,造就了产品坚若磐石的质量体系,我们可以在任何时候,任何场合接受市场的检验。

二、NA400PLC的通讯特点:

1、NA400PLC的CPU模块均配置串口和以太网口,其中以太网口支持MODBUS TCP/IP协议,用作工业以太网通讯接口,在整个网络配置中勿需专配以太网模块;串口支持MODBUS RTU及自由端口通讯协议,支持串口扩展。通过DP主站和子站模块可构成PROFIBUS DP网络,远程I/O可控。

2、便利的通讯指令:无论您使用何种通讯协议都可以做到编程简单,程序简洁,勿需再为通讯端口冲突、发送接收控制、通讯中断处理等问题烦恼。

三、三垦变频器通讯协议:

三垦变频器的通讯采用RS485串口,专用通讯协议;与通讯有关参数设置如下:

cd146:选择通信功能设定为1,有串行通讯功能

cd147:变频器编号在PPI时设定为1

cd148:通信速度选择与PLC的串口通讯波特率一致,此例设定5(19200bps)

cd149: 奇偶检验位设定0,无校验

cd150: 终止位的设定选择0,2位

三垦变频器的通信规约如下:计算机到变频器的信文规约:

参考:1、作为校验和的计算例,1号变频器的功能码设定为50.00Hz时

2、频率数据的整数部分固定为3位、小数部分固定为2位

写入命令:

数据的读取:

  在工业控制中,用PLC控制的工程在上/下位机通讯上一般采用RS-232/RS-485串口通讯,这种方法对于数据量较大,通讯距离较远,实时性要求高的控制系统,很难满足通讯需要。

  近年来随着计算机网络技术的飞速发展,网络化数控已经成为现代制造业发展的必然趋势, 控制系统正向虚拟化、网络化、集成化、分布化和节点智能化的方向发展。[1]许多大型PLC厂商生产的PLC都配备了相应的以太网通信模块,本文讨论了OMRON PLC的以太网通信体系结构,并以CP1H PLC的ENT2l以太网模块为例实现与计算机的通信。

1. Winsock网络通信控件

  Winsock控件是不可视控件,它提供了访问TCP和UDP网络服务非常简便的途径,使编程人员开发客户/服务器应用程序时,不必了解TCP的细节或调用低级的Winsock API函数,只通过设置Winsock控件的属性并调用其方法,就可直接连接到一台远程计算机进行,并可实现双向数据交换。

  WinSock主要支持两种类型的套接字:①流式套接字(Stream Socket)也称面向连接方式,该方式对应的是TCP协议,其传输特点是通信可靠性高,可以保证数据流的传输是可靠的、有序的、无重复的,可提供双向的数据流,数据被看作字节流,无长度限制。②数据报套接字(Datagram Socket)又称无连接方式,对应的是UDP协议,这种方式不提供数据传输的正确性、有序性和无重复性,因为它支持面向记录的数据流。因此,传输的数据可能丢失和重复,并且接收顺序混乱,报文长度是有限的。考虑到本系统对通信可靠性和正确性的要求很高,选用流式套接字方式。基于Client/Server模式的流式套接字通讯过程如图1所示。

 

流式套接字进程通讯过程时序图
图1 流式套接字进程通讯过程时序图

 

2.Ethernet网络通信单元的设置

  在组建网络时,根据网络类型的不同,网络中的每个节点需要安装相应的通信单元,PLC上需安装Ethernet网络通信模块,例如0MR0N公司的CJ1W—ETN21以太网模块。应用之前必需对网络进行必要的设置,分为开关设置和CPU总线单元系统设置。

  开关设置主要包括以下几项内容:确定分配给CJ1W—ETN21单元的内存工作区(CIO区、DM区),该地址在CPU总线区,由UNIT No.开关确定ETN单元的单元号范围为0~F;NODE No.旋转开关设定两组l6进制数作为ETN单元在网络中的节点号,范围为O1~7E;IP地址设置网络号和主机节点号,由32位二进制数组成,分4段以十进制数表示。

  CPU总线单元设置主要通过编程设备如CX—Programmer软件或编程器对网络单元进行模式、本地IP地址、子网掩码、FINS端口号、FTP登录名及口令和IP路由器表等项进行设定。若使用FINS/TCP协议,则还需在以太网单元设置中修改FINS/TCP项的部分参数,如:自动分配的FINS节点号、是否保持激活等项。

3.面向上位计算机的通信协议

  如图2所示,以太网的分层模型分为物理层(Physical Layer)、网际层(Internet Layer)、传输层(Transpot Layer)和应用层(Application Layer)。其中:传输层可使用无连接的UDP或需建立连接的TCP协议;应用层为FINS(Factory Interface Network Service)协议,FINS协议是由OMRON公司开发的用于工厂自动化控制网络的指令响应系统。主要规定对PLC存储空间的数据读写等操作方法。应用层使用FINS协议,传输层使用TCP协议的通信实现方法称为FINS/TCP方法。

 

网络的分层结构
图2 网络的分层结构

 

  FINS协议包含指令系统和响应系统,其命令帧格是由FINS报头、指令代码、响应代码和正文等几部分组成。从上位计算机发出的指令和响应必须符合下面帧的格式要求,并提供合适的FINS报头信息。[3-4]FINS通信服务是通过FINS命令帧和它们对应的响应帧交换实现的。

  FINS命令/响应帧格式如图3所示。FINS/TCP header中规定了五种命令,用于客户机(host computer)与服务器(PLC)之间通信:发送客户机节点地址(node address);(2)发送服务器节点地址(node address);(3)发送Fins frame;(4)Fins frame发送出错通知;(5)客户机与服务器联机确认。

 

FINS命令/响应帧格式
图3 FINS命令/响应帧格式

 



联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com