西门子岳阳授权代理商
- 报价
- 请来电询价
- 西门子
- 西门子代理商
- 西门子CPU
- 西门子plc
- 德国
- 全新原装
- 关键词
- 西门子PLC,西门子CPU,西门子代理商,西门子授权代理商,西门子一级代理商
- 更新时间
- 2026-05-30 08:42
1 引言
PLC以其高可靠性、适应工业过程现场、强大的联网功能等特点被广泛使用,是机电一体化的发展方向。bbbbbbs以图形化界面给用户提供了良好的人机界面,并且被很多人所掌握,所以我们考虑使用PLC作为工业控制下位机,使用PC作为上位机进行人机交互界面。这就涉及了使用PC如何控制PLC,PC如何与PLC进行通讯的问题。
以Schneider公司的TSX Neza系列PLC为例,上位PC机与PLC通讯进行一些探讨。
2 计算机与Neza PLC通讯方式。
Neza系列PLC提供了三种通讯方式,分别为:Modbus方式、ASCII方 式、Unitelway方式。
(1) Modbus方式
MODBUS是Schneider公司为该公司生产的PLC设计 的一种通信协议,通过24种总线命令实现PLC与外界的信息交换。具有Modbus协议的PLC可以方便的进行组态。
使用 Modbus进行PLC通讯时需要使用PLC的扩展口,而多个PLC进行通讯时也要使用这唯一的扩展口,也就是如果使用Modbus进行通讯时PLC无法 与其他PLC进行通讯。Schneider
公司早期产品不支持该协议。
(2) Unitelway方式
Unitelway是基于Schneider公司的Xway通讯协议的,经过发展现在Neza使用 的是Unitelway V2,它与UnitelwayV1.1基本兼容。通过Unitelway提供的各项命令我们可以方便的访问PLC的各项资源,对PLC进行各项操作。在 Modicon公司NAZA系列PLC中编好的程序就是使用Unitelway下载入PLC。Unitelway使用编程口并不占用扩展口。在通讯方式中 Unitelway是为理想的方式,但是Unitelway协议并没有完全公开,一般用户无法使用。
(3) ASCII方式
ASCII码方式在很多PLC上都可以使用名称也不一而足:ASCII方式、自由口模式等等。在自由口模式 下,通信协议是由用户定义的。用户要根据自己的需要确定自己和PLC的通讯协议。自由码也是使用编程口与上位机进行通讯,并不占用扩展口。但是它的通讯协 议需要自己确定,需要在PLC编程和上位机中确定唯一的通讯方法。
3 通讯过程
每一次PC机和PLC数据交换有3个步骤,说明如下:
(1) 通讯是由在PLC中确定的时间触发, 发送一组字符给PC机
在Neza系列PLC使用ASCII通讯时,通讯是由在PLC中确定的时间触发 的。在确定的时间到达后,PLC要求数据发送时,PLC会发送一组字符过去。通常该字符第一个字符就是前导码,PC机根据前导码确定是否应该读取该字符 串、该字符属于哪一个命令集合,以及用什么格式去读取字符串等。前导码不会是一般的符号字符,通常是一些不可见的字符(位于ASCII码表的前30个)或 极少被使用的符号字符,这是因为避免数据字符与前导码一样而发生错误判断。在前导码之后是站号,通常是以两个字符代表,单纯以RS232连接的单一设备也 许不需要站号的设置,但是如果以RS485进行网络连接,就需要用站号来辨认命令是属于那一个设备。站号后面就是设备解读的命令或者数据。(本例为单机不 需要站号)一般的通讯都需要进行数据的校验,在Neza系列PLC使用ASCII通讯中,PLC没有对数据的处理能力,所以没有设置校验位。为了保证通讯 的正确,可以在PC中对数据进行一定处理。在数据后一般为这个帧的结束码,来保证数据帧的完整性。
(2) PC收到要求的字符串,并判读
当PC收到要求的字符串,并经过判读确定后,同样按照相同的协议,按照用户需要对PLC进行 的操作送出数据,数据被送出时会在数据之前加上前导码和站号。数据中携带了PC机对PLC要求的操作。
(3) PLC将数据发给PC
在 PLC收到PC发来的数据包后经过判读确定后,进行一定的操作然后在触发时间到达后将PLC的状态写入数据发给PC,这样就完成了一次数据交换。
4 应用实例
下面介绍所开发的系统是由下位机(PLC)-上位机(PC)组成,系统框图如图1所示。程序使用VB6, 整个程序设计分为四部分:上位机程序设计;下位机程序设计;通讯硬件设计;通讯协议。
图1 系统框图
(1) 通讯格式的确定
作者使用的通讯参数:9600波特率,8位数据位、1位停止位,奇校验。本实例中定义整个帧长22个字节。
帧格式:
(2) 上位机程序设计
上位机程序设计包括两个模块:用户应用程序和串行通讯程序.用户应用程序是图形化的供用户操作的界面。串行通讯程序是底层运行的程序,它负责与下位机的通讯。
上位机通讯程序:
Sub bbbb_Load() '窗体加载打开串口
MSComm1.PortOpen = True
Mscomm1.settings="9600,o,8,1"
End Sub
Sub MSComm1_OnComm() '有数据输入
If MSComm1.CommEvent = comEvReceive Then
If MSComm1.InBufferCount = 22 Then
buffer = MSComm1.bbbbb
If buffer(0) = &HFF And buffer(1) = &HFF And buffer(21) = &HCC Then
Call StateToBuffer'将读入的数据读入应
'用程序处理
Call IniState '初始化状态
Call StateToBuffer'确定发送给PLC的
'数据
MSComm1.Output =Buffer'发出数据
Else
MSComm1.InBufferCount = 0
End If
Else
M
SComm1.InBufferCount = 0
MSComm1.PortOpen = False'通讯失败关闭串口
'然后重新打开
MSComm1.PortOpen = True
End If
End Sub
(3) 下位机程序设计
下位机程序设计指使用PLC编程软件对PLC进行编程,实现对电机的控制。
当TSX Neza处于ASCII模式时,状态位%S100置为"1"。发送与接受由%MSG模块与EXCH指令组成。%MSG模块用来控制数据交换,EXCH指令 用来控制数据交换。发送或接收帧的大为128字节。
EXCH指令由控制区、发送区、接收区组成,如表1所示。EXCH指令有3个用途:发送;发送/接收;接收。
表1 EXCH指令
控制区高位字节为命令,低位字节为发长度LgT/LgR,长度字节表示发送字符的长度(LgT),在接收的结尾被改写为接收字符的长度 (LgR)。当接收到帧的末尾字节后结束接收。结束码可以为用户修改(系统字%SW68的低位字节)。该字节默认值为H0D。
在使用EXCH指令的发送模式,仅需要有控制区与发送区,TSX Neza仅传送发送区的数据。
在使用EXCH指令的发送/接收模 式时,先发送,在发送结束时TSX Neza切换为等待接收的状态。如果接收状态正常且询问长度(LgT)和响应(LgR)的长度都小于%Mwi保留区(长度L),那么等接收到响应后,把它 复制到与发送表相关的%Mwi区。如果不是这种情况,则位%MSG.E变为1。当检测到结束码或接收区满了时,接收结束。
在使用EXCH指令的接收模式,仅需要有控制区和接收区,TSX Neza仅接收数据。等接收到响应后,把它复制到与发送表相关的%Mwi区。如果不是这种情况,则位%MSG.E变为1。当检测到结束码或接收区满了时, 接收结束。
我们使用内部字MW1作为控制区,MW2至MW11作为发送区,其中MW2、MW3作为前导码。MW12至MW17作为接受区。在PLC程序中 读取内部字作为工作的判定条件。
本实例PLC每450ms与PC机通讯一次。
(4) 硬件部分
硬件包括RS232与RS485转换,如果上位机与下位机距离远的话,还要考虑485总线上的干扰问题。
硬件设置:
TER端口可以在PLC配置对话框中修改;
类型:半双工;
速率:9600bps;
格式:1 个起始位,8个数据位、1个停止位。
校验:ODD。
西门子模块代理商
从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务,工业自动化设备安装,工业自动化控制设备、电气设备、机电设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售,商务信息咨询,软件开发,建筑装修装饰建设工程专业施工,建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。【依法须经批准的
浔之漫智控技术有限公司西门子代理。联系人:小聂(15221406036)浔之漫智控技术有限公司主要产品有“PLC,变频器,触摸屏,模块,传感器,低压器,伺服电机,工控机”。全新原装,质量保证,保修一年,价格合理,支持技术服务!SIEMENS 可编程控制器1、 SIMATIC S7 系列PLC:S7-200、S7-1200、S7-300、S7-400、ET-2002、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24R...