全国服务热线 15221406036
单位新闻

枣庄西门子S7-300代理商

发布时间: 2023-09-18 17:06 更新时间: 2024-05-08 07:10

枣庄西门子S7-300代理商

2  S7-200的自由口通讯模式
S7-200支持多种通讯模式,如点点接口(PPI)、多点接口(MPI)、Rrofibus DP等。PPI等通讯协议主要用于西门子系列产品之间的通讯以及对PLC编程。在自由口模式下,可由用户控制串行通讯接口,实现用户自定义的通讯协议。用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接受指令(RCV)来控制通信操作。在自由口模式下,通信协议完全由梯形图程序控制。
S7-200CPU上的通信口是与RS-485兼容的9针D型连接器,PLC还提供了实现 RS-485与 PC机上RS-232C相连接的PC/PPI电缆,利用它可以方便地实现S7-200系列PLC与PC之间的硬件连接。
S7-200的编程软件为STEP7-Micro/WIN32,该软件有STL、FBD和Ladder三种编程模式,有SIMATIC指令和IEC131-3指令两种指令。本文所给出的范例是使用SIMATIC指令的STL编程。

PLC



3  S7-200 PLC端的通讯程序实现
PLC程序分为主程序和中断程序。主程序完成初始化通信口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(RCV)启动或终止接收信息功能,必须为接收操作指定开始和结束条件。发送指令(XMT)在自由口模式下依靠通讯口发送数据。
3.1  控制字的选取
反映CPU工作方式的模式开关当前位置的特殊存储器位为SM0.7,它控制自由端口模式的进入。当SM0.7为0时,模式开关处于TREM位置;当SM0.7为1时模式开关处于RUN位置。而只有当模式开关位于RUN位置时,才允许进行自由口通讯。SMB30是自由口模式控制字节,用来设定校验方式、通讯协议、波特率等通讯参数(其它控制字的设定参阅有关书籍)。
3.2  程序的一些简单介绍
NETWORK1
LD  SM0.1   // 次扫描
MOVB  16#09,SMB30  
//自由口通讯模式:9600波特率,无奇偶校验,8个数据位
MOVB  16#7C,SMB87 //接收信息状态字节
MOVB  16#53,SMB88  
//设置信息的开始字符“S”
MOVB  16#45,SMB89  

PLC资料网


//设置信息的结束字符“E”
MOVW  +5,SMW90    
//设定空闲行的时间间隔(ms)
MOVW  +179,SMW92  
//字符间/信息间定时器超时值(ms)
MOVB  60,SMB94  //接收字符的个数
NETWORK2
LD  SM0.1 MOVB 16#53,VB2499  
//设置接收和发送缓冲区的首地址
ATCH  发送完中断,9     
//把发送完成中断和发送完成中断子程序连接起来
ATCH  接收完中断,23   
//把接收完成中断和接收完成中断子程序连接起来
ENI    //允许中断
PLC程序的主要流程框图如图1所示:

1 概述
在工业控制系统中,PLC作为一种稳定可靠的控制器已经得到了广泛的应用。但是由于中小型PLC的人机接口功能不很完善,不能提供给用户一个友好的交互界面,因此妨碍了对现场运行过程的跟踪与监控。
PLC实际工作中,通常人们采用4种装置为PLC配置人机界面:编程终端、显示终端、工作站及个人计算机。编程终端主要用于编程与调试,其监控功能相对较弱。显示终端的功能比较单一,主要用作现场显示。工作站系统很受用户欢迎,它功能全面、使用简单,但由于要配置组态软件,因而价格比较昂贵。个人计算机可配备多种语言,提供优良的软件平台,开发各种应用系统,特别是动态画面显示等,与PLC相结合组成一套PC-PLC监控管理系统,能够充分发挥它们各自的优点。但是在该系统中,关键的问题就是通信,用户对此须做较多的开发工作。
本文详细阐述了PC与PLC互连通信的一般方法,并以西门子公司的S7-200 PLC为对象,以实际四层电梯模型监控系统为例,介绍了利用大家都熟悉的编程语言Visual Basic 和Step7,实现PLC与上位计算机实时通信的通信过程。
2 通信方式
面对众多生产厂家的各种类型PLC,它们各有优缺点,能够满足用户的各种需求,但在形态、组成、功 能、编程等方面各不相同,没有一个统一的标准,各厂家制订的通信协议也千差万别。目前,人们主要采用以下三种方式实现PLC与PC的互联通信:

PLC资料网


(1) 通过使用PLC开发商提供的系统协议和网络适配器,来实现PLC与PC机的互联通信。但是由于其通信协议是不公开的,因此互联通信必须使用PLC开发商提供的上位机组态软件,并采用支持相应协议的外设。可以说这种方式是PLC开发商为自己的产品量身定作的,因此难以满足不同用户的需求。
(2) 使用目前通用的上位机组态软件,如组态王、InTouch、WinCC、力控等,来实现PLC与PC机的互连通信。组态软件以其功能强大、界面友好、开发简洁等优点目前在PC监控领域已经得到了广泛的应用,但是一般价格比较昂贵。组态软件本身并不具备直接访问PLC寄存器或其它智能仪表的能力,必须借助I/O驱动程序来实现。也就是说,I/O驱动程序是组态软件与PLC或其它智能仪表等设备交互信息的桥梁,负责从设备采集实时数据并将操作命令下达给设备,它的可靠性将直接影响组态软件的性能。但是在大多数情况下,I/O驱动程序是与设备相关的,即针对某种PLC的驱动程序不能驱动其它种类的PLC,因此组态软件的灵活性也受到了一定的限制。
(3) 利用PLC厂商所提供的标准通信端口和由用户自定义的自由口通信方式来实现PLC与PC机的互连通信。这种方式由用户定义通信协议,不需要增加投资,灵活性好,特别适合于小规模的控制系统。

PLC资料网


通过上述分析不难得出,掌握如何利用PLC厂商提供的标准通信端口和自由口通信方式以及大家所熟悉的编程语言来实现PC与PLC之间的实时通信是非常必要的。
3 S7-200 PLC通信方式及原理
S7-200 PLC内部集成的PPI接口为用户提供了强大的通信功能,可在多种模式下工作:PPI、Profibus-DP、自由口方式等。其中自由口通信方式具有特色,通信协议可完全由梯形图程序控制,通过它可以实现PLC与任何具有通信能力的设备进行互连,因而在本系统中选用自由口通信方式。
目前PLC与PC机的链接通信有两种方式,一种是PC机始终处于主导地位,数据的传送都由PC机定时发出命令,另外一种是PLC始终具有优先权。在本电梯模型监控系统中所有的控制信号均为开关量信号,考虑到上位PC机仅实时显示电梯的运行状态,不需向PLC发送控制指令,采用第二种通信方式。利用PLC循环扫描的特点,设备状态一旦改变,PLC立即检测到,并将反映系统状态变化的数据存入指定的数据缓冲区,通过XMT发送指令,将数据通过COM口发至上位机。每个系统的状态对应于数据缓冲区中的一个指定字节,所存储数据均为16进制数据,为保证通信过程的可靠性,上位机对所接受到的数据进行首尾字符校验,如果校验成功,则说明接收到的首末字节之间的数据是正确的,从而进行处理,否则,放弃这批数据,要求对方重发。

PLC资料网


4 应用实例与程序设计
(1) 系统构成
S7-200 PLC内部集成的PPI接口物理特性为RS485,而上位机的标准串口为RS232,为了实现两者的通信必须进行协议转换,西门子公司提供的PC/PPI电缆带有RS232/RS485电平转换器,因此再不增加任何硬件的情况下,可以方便的实现二者的互联和协议转换。
作为控制器的S7-200 PLC利用电梯模型自带的电源线实现与四层电梯模型的互连,该电梯模型为教学试验装置,具备一般电梯的基本功能。硬件连接如图1所示。


图1 硬件连接示意图

(2) PLC部分编程
① 自由端口的初始化
在自由口通信模式下,通过设置特殊存储器SMB30(端口0),来为自由端口通信选择波特率、奇偶校验和数据位。这些设定必须与PC机设定值相一致。其格式如下:
SMB30
pp为奇偶校验选择,d为数据位选择,bbb为波特率选择。
 00为无校验,0为每个字符8位,000为38 400
baud,001为19 200baud;
 01为偶校验,1为每个字符7位,010为9 600 baud,011为4 800baud;
 10为无校验,100为2 400baud,101为1 200baud;
 11为奇校验,110为600baud,111为300baud;

PLC


mm为协议选择:00为PPI协议,01为自由口协议,10为PPI/主站模式,11默认为PPI/从站模式。
② S7-200PLC实时向上位PC机传送数据


图2 下位机程序流程图

在对电梯模型控制中,所有的控制信号均为开关量,基于这一特点,系统状态的改变即为这些开关量信号状态的改变,因此可通过跟踪这些开关量信号的上升沿信号、下降沿信号的到来,做为系统状态改变的依据。据此在本系统中,通过对同一个开关量信号的上升沿、下降沿分别定义不同的16进制数的方式,来代表信号的产生与结束,当检测到这些信号产生时,便将这些数据存入指定的数据缓冲区中的字节中,并通过COM口发至上位PC机,同时产生发送完成中断,PLC延迟等待接收来自上位机的应答信号,通过分析存储在接收字符缓冲器SMB2中的数据,判断是否需要重新发送。下位机程序如图2所示。
(3) 上位机部分编程
基于VB处理监控界面图形、数据报表及通信的方便快捷,本课题上位机的编程环境采用VB来实现。VB不仅提供了MSCOMM串行通信控件,而且也为这个控件提供了标准的事件处理函数,并通过设置它的一些属性对通信接口进行初始化,从而很容易的实现了串行通信的问题。 PLC
下面介绍一下有关此控件的属性:
Commport,设置通信连接端口。程序必须指定要使用的串行端口的号码,bbbbbbs使用所设置的通信端口与外界进行通信。
Settings,设置初始化参数。其格式为“BBBB,P,D,S”,其中BBBB为连接速度,P为奇偶校验方式,D为数据位数,S为停止位数。默认值是“9 600,n,8,1”。
PortOpen,设置通信连接端口的状态。使用串行端口之前必须先将要使用的串行端口打开。
bbbbb,返回并删除接收缓冲区中的数据流。
bbbbbLen,设置从串行端口读入的字符串长度。
Rthreshold,设置引发接收事件的字符数。
bbbbbMode,设置接收数据数据形式。
OnComm事件,用来处理所有与通信相关的事件。使用事件程序的好处是不需要一直让程序处于检测的状态下,只要事先将程序代码写好,一有事件发生,就会直接执行相对应的程序代码。可见这种事件驱动的方式也为实现实时通信提供了必要的条件。上位机程序如图3所示。
PC机根据接收到的信息很容易的实现对每个开关量的状态进行识别,从而控制监控界面的实时显示。

图3 上位机程序流程图

5 结语 PLC
以上是基于S7-200PLC自由口通信方式实现与上位机PC实时通信的一个简单应用。经验证,该方法简单、实时性好,可靠性高,对于逻辑控制系统,是能够实现对被控对象实时监控简单易行的方法

模拟屏能简单、明了地反映现场的实时数据和状态信息,应用十分广泛。为了使现场信息及时、准确、动态地显示在模拟屏上,要求数据采集设备和模拟屏之间进行通信。
      现场信息量比较大,如果每个信号都独立连接到模拟屏,信号线数量多、耗线多,不经济,走线不便,故障率高,采用串行通信可克服以上缺点。
      现在通信方式多种多样、速度越来越快,但串行通信在控制范畴一直占据着极其重要的地位。它不仅没有因时代的进步而淘汰,反而在规格上越来越完善、应用越来越广,长久不衰。与并行通信相比,它传输速度慢(并行一次传8位,串行传1位),但并行通信数据电压传输过程中,容易因线路因素使标准电位发生变化(常见的电压衰减、信号间互相串音干扰)。传输距离越远,问题越严重、数据错误越容易发生。相比之下,串行通信处理的数据电压只有一个标准电位,数据不易漏失。
      常用的串行通信有两种,一种为rs232,另一种为rs422/485。工业环境常会有噪声干扰传输线路,在用rs232进行数据传输时,经常会受到外界电气干扰而使信号发生错误。rs232串行通信的信号标准电位是参考接地端而来的,干扰信号在原始信号和地线上均会产生影响,原始信号加上干扰信号后,依然传送到接收端,而地线部分的信号则不能传送到接收端。因此,信号便发生了扭曲。rs422/485传输的是差分信号,在发送端分成正负两部分,到达接收端通过相减,还原成原来信号,两条信号线受到的干扰的程度相同,这就防止了噪声干扰。本文以plc和模拟屏通信为例介绍通过rs485实现点对点串行通信。

1 模拟屏的通信规约及设备 PLC资料网
(1) 通信规约
      rs232c/485串行口:速率9600bps,1位起始位,8位数据位,1位停止位,无奇偶校验位;传输报文内容以字节为单位,在信道中的传送顺序是:低字节先送,高字节后送;字节内低位先送,高位后送;数据格式为16进制数;异步通信。
(2) 设备
      开关量处理器;开关量指示灯;模拟量处理器;模拟量显示器;时钟;通信处理器;中央控制器。

2  信息传输途径设备和功能
(1) 途径:数据采集通过plc完成,plc向模拟屏传输数据,控制模拟屏状态。rs485连接图如图1所示:

PLC资料网



图1     rs485连接电缆图


(2) 主要相关设备:中央处理器cpu 314;点到点通信模块cp341-rs422/485。
(3) 功能:—向模拟屏发送模拟量数据;—向模拟屏发送开关量信息;—控制屏状态,包括:全屏亮暗、全屏信号分合、 变位帧闪光;—设定和改变时钟时间。

3 通信实现的方法
4.1  初始化
      就串行通信而言,交换数据的双方利用传输在线的电压改变来达到数据交换的目的。如何从不断改变的电压状态中解析出其中的信息,双方必须有一套共同的译码方式,遵守一定的通信规则。这就是通信端口初始化。
      通信端口初始化有以下几个项目必须设置或确认:
(1) 通信模式
      串行通信分同步和异步两种模式。同步传输在通信的两端使用同步信号作为通信的依据,异步传输则使用起始位和停止位作为通信的判断。模拟屏通信模式:异步传输;西门子plc通信模式:异步传输;二者通信模式相同。

PLC资料网


(2) 数据的传输速率
      异步通信双方并没有一个可参考的同步时钟作为基准。这样双方传送的高低电位代表几个位就不得而知了。要使双方的数据读取正常,就要考虑到传输速率。收发双方通过传输在线的电压改变来交换数据,但发送端发送的电压改变的速率必须和接收端的接受速率保持一致。模拟屏的通信速率:9600bps;西门子plc通信速率:600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps,57600bps,76800bps。初始化,将plc波特率设为:9600bps
(3) 起始位及停止位
      当发送端准备发送数据时,会在所送出的字符前后分别加上高电位的起始位及低电位的停止位。接收端会因起始位的触发而开始接收数据,并因停止位的通知而确定数据的字符信号已经结束。起始位固定为1位,而停止位则有1,1.5,2等多种选择。模拟屏的停止位: 1位;西门子plc的停止位:1位或2位。初始化,将plc数据停止位设为:1位。
(4) 数据的发送单位
    不同的协议会用到不同的发送单位(欧美一般用8位、日本一般用7位组成一字节),使用几位合成一字节,双方必须一致。模拟屏的数据发送单位: 8位为一字节;西门子plc的数据发送单位:7位或8位为一字节。初始化,将plc数据发送单位设为:8位。

PLC资料网


(5) 校验位的检查
      为了预防错误的产生,使用校验位作为检查的机制。校验位是用来检查所发送数据正确性的一种校对码,它分奇偶校验,也可无校验。模拟屏校验位:none;西门子plc校验位:none,odd,even;初始化,将plc校验位设为:none。
(6) 工作模式
      交换数据是通过一定的通信线路来实现的。微机在进行数据的发送和接收时通信线路上的数据流动方式有三种:单工、半双工、全双工。rs232和rs422使用全双工模式,rs485使用半双工模式。模拟屏工作模式:rs232全双工/rs485半双工;西门子plc工作模式:rk512 全双工四线制(rs422);3964r全双工四线制(rs422);ascii全双工四线制(rs422);ascii半双工两线制(rs 485);初始化,将plc工作模式设为:ascii半双工两线制(rs485)。
(7) 数据流控制—握手
      传输工作进行时,发送速度若大于接收速度,而接收端的cpu处理速度不够快时,接收缓冲区就会在一定时间后溢满,造成后来发送过来的数据无法进入缓冲区而漏失。采用数据流控制,就是为了保证传输双方能正确地发送和接收数据,而不会漏失。数据流控制一般称为握手,握手分为硬件握手和软件握手。模拟屏数据流控制:none;西门子plc数据流控制:none。要通过用户程序询问和控制。 PLC
(8) 错误预防—校验码
      在传输的过程中,数据有可能受到干扰而使原来的数据信号发生扭曲。为了监测数据在发送过程中的错误,必须对数据作进一步的确认工作,简单的方式就是使用校验码。模拟屏校验码:异或校验和。要在plc上编校验码程序。


联系方式

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