文档库 最新最全的文档下载
当前位置:文档库 › s7-200通信问题

s7-200通信问题

s7-200通信问题
s7-200通信问题

浅谈S7-200 PLC的通讯问题

关键词:通讯 PC/PPI 波特率多主站通讯

1 引言

公司从德国进口铝液除气的设备,该设备配备了S7-200 PLC系统。最近因为工艺要求,要对机器的动作步骤进行修改,这样需要先上载CPU中的PLC程序,更改完毕后再下载回去。但在我们上载程序的过程中却遇到了许多的麻烦,每次点击“上载”工具条后,就出现图1的消息框。我们核对了几遍站址:PLC端是2,PC端是0,设置是不会有错的。

图1 消息框

又试着更改了几次波特率,但还是行不通。难道PC/PPI通讯电缆有问题?经过试验,它与其它S7-200设备通讯是不存在任何问题的。我们这台除气设备配置的CPU 是CPU226,它有两个通讯口,其中端口0空闲,端口1连结着Proface的触摸屏面板,对这两个端口都尝试了一下,结果都令人失望。接着咨询了一下设备生产厂家,他们的答复是程序在STEP 7-Micro/WIN32 V3.2.1下做的,建议我们找这一下这一版本软件。我们查看了下我们当前的版本是V3.2.4,依他们的建议,我们又重新安装了一遍软件,先不升级到SP4,这样版本号是V3.2.0,但在此环境下通讯仍然不行。从常识来看,西门子的软件应该是向下兼容的,再说版本号的要求不应该是如此苛刻的,这真有点一筹莫展了!电话咨询西门子公司的专家,根据他们的建议,我们又作了多种尝试,结果还是无功而返,最后登录它的服务网站,查询有关S7-200的各种书籍,终于把问题解决。回过头来再重新思考这个问题,觉得它非常有代表性,有必要整理出来,与业界各位同仁共享。

2 有关S7-200通讯方面的介绍

S7 -200是一类小型PLC系统,它支持的通讯协议很多,具体说来有:PPI、MPI、PROFIBUS-DP、S7协议、AS-I、USS、MODBUS、自由口通讯等,其中PPI、MPI、自由口是CPU上的通讯口所支持的,其它通讯协议需要有专门的CP模块或EM模块的支持。型号不同的S7-200 CPU具有一到两个RS-485通讯口,例如:CPU221、CPU222、CPU224有一个通讯口;CPU224 XP、CPU226有两个通讯口。CPU上的通讯口各自独立,每个通讯口都有自己的网络地址、通讯速率等参数设置。通讯口的参数在编程软件Micro/WIN的“系统块”中查看、设置,新的设置在系统块下载到CPU中后起作用。

S7-200不仅支持点到点的通讯方式,还支持网络通讯,连接到S7-200编程口的设备都可以认为是连接到了S7-200通讯网络上。网络中通讯设备根据担任的角色不同,可分为:

l 通讯从站:从站不能主动发起通讯数据交换,只能响应主站的访问,提供或接受数据。从站不能访问其他从站。在多数情况下,S7-200在通讯网络中作为从站,响应主站设备的数据请求。

l 通讯主站:可以主动发起数据通讯,读写其他站点的数据。

S7-200 CPU在读写其它S7-200 CPU数据时(使用PPI协议)就作为主站(PPI主站也能接受其他主站的数据访问);S7-200通过附加扩展的通讯模块也可以充当主站。

安装有编程软件Micro/WIN的计算机一定是通讯主站;所有的HMI(人机操作界面)也是通讯主站。例如:在我们的例子中,其配置就是一个MPI的网络: Proface的触摸屏面板是通讯主站,S7-200是通讯从站。

编程软件Step7-Micro/WIN的各个版本与Windows操作系统的各个版本之间,有一定的兼容关系。如果安装的Micro/WIN版本和操作系统不兼容,会发生各种问题,如比较常见的通讯不正常的现象。我们可以访问siemens A&D公司的技术支持网站:www4.ad.siemens.de,从检索窗口中键入STEP7-Micro/WIN,Setup, Install 或Compatibility等关键字,获取相关软件之间兼容性方面的信息。

影响通讯因素的还有PC/PPI编程电缆。目前西门子提供两种电缆,其一是新型智能多主站电缆,另外一种是早期生产的PC/PPI电缆。两者最大的区别是新型电缆支持多主站通讯,最高波特率可达到187.5KHz,而旧电缆不支持多主站通讯,不需要握手协议,只能用到9.6K和19.2K两种波特率。另外,新型电缆有三个绿灯用于指示电缆的运行: 传送指示(Tx);RS-232接收指示(Rx);24VDC电源(PWR)。

另外,S7-200系统提供了强大的密码保护功能,以保护程序开发者的知识产权,防止未经授权的操作等。如果把密码设置成了Level3,那程序的上载和下载就需要输入密码来授权才能操作。

3 如何解决我们的通讯问题

我们此前的多次尝试,已经排除了几种可能因素: 其一,不可能加密,因为传输中并未提示输入密码;其二,软件兼容性,我们的配置是Win2000 SP4+ STEP

7-Micro/WIN V3.2.4;其三,通讯硬件没问题,CPU端有两个端口,而且Port1 还连结着正常工作的触摸屏;计算机的串口通过实际检验也是正常工作的;新旧两种电

缆都试验过,用新型电缆时,观察它的指示灯,发现三个都是保持常亮状态的。

据此,我们推测问题可能还是出在多主站通讯上。依次,我们把智能多主站电缆的DIP开关5设置为“1”而其它设置为“0”,这样就设置成了多主站通讯。在Micro/WIN 主界面的左侧浏览条中用鼠标单击Communications(通讯)图标,把“Network Parameters”中的“Supports multiple masters”选项框选中,参见图2。

图2 通讯对话框

经过这样改动,果然成功把程序上载到计算机中。然后查看它的系统模块属性,设备厂家果然把两个通讯口的通讯速率都锁定在了187.5kHz,Proface触摸屏是MPI 网络的唯一主站,如此看来这正是问题的症结所在:过去使用的通讯电缆是旧电缆,通讯速率最高到19.2kHz,更换了智能多主站电缆后,也没有根据实际情况选中“支持多主站”。

4 解决S7-200通讯问题的思路

4.1 通讯出错分析

一般说来,在设备正常的条件下,发生Micro/WIN不能与CPU通讯的原因主要有:

(1) Micro/WIN中设置的对方通讯口地址与CPU的实际口地址不同,通常设置“2”;

(2) Micro/WIN中设置的本地(编程电脑)地址与CPU通讯口的地址相同了(应当将Micro/WIN的本地地址设置为“0”)

(3) Micro/WIN使用的通讯波特率与CPU端口的实际通讯速率设置不同

(4) 有些程序会将CPU上的通讯口设置为自由口模式,此时不能进行编程通讯。编程通讯是在PPI模式下进行。

4.2 通讯出错排查

遇到通讯问题,我们要有耐心,逐项排查各种影响因素,直到通讯成功,可以参考如下的步骤:

(1) 检查Step7-Micro/WIN与Windows操作系统是否完全兼容;

(2) 检查是否使用西门子的原装编程电缆,并区分新旧两种电缆;

(3) 检查电脑上的COM通讯口设置,记住把接收和发送缓冲区都设置为最小值,并保持选中“FIFO”选择框;

(4) 检查编程电缆的DIP开关设置,是否与Micro/WIN的通讯速率设置相同;对于普通编程电缆,搜索速率最高为19.2,因此如果CPU通讯口速率被设置为187.5K,则不能被找到。

(5) 检查CPU右下角的传感器直流电源输出电压(测量L+/M),电压应当高于22V

(6) 使用wipeout.exe程序,恢复CPU的出厂设置。缺省情况下CPU通讯口地址为2,通讯速率9.6K。这个程序可在STEP7-Micro/WIN的安装光盘中找到。

5 结束语

S7-200的通讯问题还是蛮复杂的,影响的因素也很多。对一个具体的问题,很难说有一种包治百病的良方,我们应该根据实际情况,区别对待。我们对它了解得越多,就越容易把握住它脾性,克服它!让它更好地为我们的工作。

自由口通信

S7-200 CPU的通信口可以设置为自由口模式。选择自由口模式后,用户程序就可以完全控制通信端口的操作,通信协议也完全受用户程序控制。

S7-200 CPU上的通信口在电气上是标准的RS-485半双工串行通信口。此串行字符通信的格式可以包括:

一个起始位

7或8位字符(数据字节)

一个奇/偶校验位,或者没有校验位

一个停止位

自由口通信速波特率可以设置为1200、2400、4800、9600、19200、38400、57600或112500。

凡是符合这些格式的串行通信设备,理论上都可以和S7-200 CPU通信。

自由口模式可以灵活应用。Micro/WIN的两个指令库(USS和Modbus RTU)就是使用自由口模式编程实现的。

在进行自由口通信程序调试时,可以使用PC/PPI电缆(设置到自由口通信模式)连接PC和CPU,在PC上运行串口调试软件(或者Windows的Hyper Terminal -超级终端)调试自由口程序。

USB/PPI电缆和CP卡不支持自由口调试。

自由口通信要点

应用自由口通信首先要把通信口定义为自由口模式,同时设置相应的通信波特率和上述通信格式。用户程序通过特殊存储器SMB30(对端口0)、SMB130(对端口1)控制通信口的工作模式。

CPU通信口工作在自由口模式时,通信口就不支持其他通信协议(比如PPI),此通信口不能再与编程软件Micro/WIN通信。CPU停止时,自由口不能工作,Micro/WIN就可以与CPU通信。

通信口的工作模式,是可以在运行过程中由用户程序重复定义的。

如果调试时需要在自由口模式与PPI模式之间切换,可以使用SM0.7的状态决定通信口的模式;而SM0.7的状态反映的是CPU运行状态开关的位置(在RUN时SM0.7="1",在STOP时SM0.7="0")

自由口通信的核心指令是发送(XMT)和接收(RCV)指令。在自由口通信常用的中断有“接收指令结束中断”、“发送指令结束中断”,以及通信端口缓冲区接收中断。

与网络读写指令(NetR/NetW)类似,用户程序不能直接控制通信芯片而必须通过操作系统。用户程序使用通信数据缓冲区和特殊存储器与操作系统交换相关的信息。

XMT和RCV指令的数据缓冲区类似,起始字节为需要发送的或接收的字符个数,随后是数据字节本身。如果接收的消息中包括了起始或结束字符,则它们也算数据字节。

调用XMT和RCV指令时只需要指定通信口和数据缓冲区的起始字节地址。

XMT和RCV指令与NetW/NetR指令不同的是,它们与网络上通信对象的“地址”无关,而仅对本地的通信端口操作。如果网络上有多个设备,消息中必然包含

地址信息;这些包含地址信息的消息才是XMT和RCV指令的处理对象。

由于S7-200的通信端口是半双工RS-485芯片,XMT指令和RCV指令不能同时有效。

XMT和RCV指令

XMT(发送)指令的使用比较简单。RCV(接收)指令所需要的控制稍多一些。

RCV指令的基本工作过程为:

在逻辑条件满足时,启动(一次)RCV指令,进入接收等待状态

监视通信端口,等待设置的消息起始条件满足,然后进入消息接收状态

如果满足了设置的消息结束条件,则结束消息,然后退出接收状态

所以,RCV指令启动后并不一定就接收消息,如果没有让它开始消息接收的条件,就一直处于等待接收的状态;如果消息始终没有开始或者结束,通信口就一直处于接收状态。这时如果尝试执行XMT指令,就不会发送任何消息。

所以确保不同时执行XMT和RCV非常重要,可以使用发送完成中断和接收完成中断功能,在中断程序中启动另一个指令。

在《S7-200系统手册》中关于XMT和RCV指令的使用有一个例子。这个例子非常经典,强烈建议学习自由口通信时先做通这个例子。

字符接收中断

S7-200 CPU提供了通信口字符接收中断功能,通信口接收到字符时会产生一个中断,接收到的字符暂存在特殊存储器SMB2中。通信口Port0和Port1共用SMB2,但两个口的字符接收中断号不同。

每接收到一个字符,就会产生一次中断。对于连续发送消息,需要在中断服务程序中将单个的字符排列到用户规定的消息保存区域中。实现这个功能可能使用间接寻址比较好。

对于高通信速率来说,字符中断接受方式需要中断程序的执行速度足够快。

一般情况下,使用结束字符作为RCV指令的结束条件比较可靠。如果通信对象的消息帧中以一个不定的字符(字节)结束(如校验码等),就应当规定消息或字符超时作为结束RCV指令的条件。但是往往通信对象未必具有严格的协议规定、工作也未必可靠,这就可能造成RCV指令不能正常结束。这种情况下可以使用字符接收中断功能。

常问问题

如何人为结束RCV接收状态?

接收指令控制字节(SMB87/SMB187)的en位可以用来允许/禁止接收状态。可以设置en为“0”,然后对此端口执行RCV指令,即可结束RCV指令。

需要定时向通信对象发送消息并等待回复的消息,如果因故消息没有正常接收,下次无法发送消息怎么办?

可以在开始发送消息时加上人为中止RCV指令的程序。

自由口通信中,主站向从站发送数据,为何收到多个从站的混乱响应?

这说明从站没有根据主站的要求发送消息。有多个从站的通信网络中,从站必须能够判断主站的消息是不是给自己的,这需要从站的通信程序中有必要的判断功能。

自由口通信协议是什么?

顾名思义,没有什么标准的自由口协议。用户可以自己规定协议。

新的PC/PPI电缆能否支持自由口通信?

新的RS-232/PPI电缆(6ES7 901-3CB30-0XA0)可以支持自由口通信;但需要将DIP开关5设置为“0”,并且设置相应的通信速率。

新的USB/PPI电缆(6ES7 901-3DB30-0XA0)不能支持自由口通信。

已经用于自由口的通信口,是否可以连接操作面板(HMI)?

不能。

可以使用具有两个通信口的CPU,或者使用EM277扩展HMI连接口。如果是其他厂商的HMI,须咨询他们。

已知一个通信对象需要字符(字节)传送格式有两个停止位,S7-200是否支持?

字符格式是由最基础的硬件(芯片)决定的;S7-200使用的芯片不支持上述格式。

S7-200是否支持《S7-200系统手册》上列明的通信波特率以外的其他特殊通信速率?

通信速率是由最基础的硬件(芯片)决定的;S7-200使用的芯片不支持没有列明在手册上的通信速率。

S7-200PLC编程例子

用S7-200编程的三个实例的解析之二 1、有一网友:“求助用西门子S7-200编个梯形图。在此,谢谢啦。 PLCcpu224×7 要求: 1、液位机量程0—3米,对应输出信号0—10V,通过电位机进行模拟介入PLC模块的模拟量输入专口。要求PLC正确读取液位机的输出信号转换成水池的液位。 2、水泵控制具有手动与自动两种模拟。 3、自动模拟:PLC内部根据液位至控制水泵的启动和停止,水泵在液位上升至2米时启动,降到1米时停止。 4、手动模拟:水泵通过按钮手动启动/停止。 5、上升到2.5米时,触发液位超上限报警,故障指示灯常亮。 6、对水泵的运行状态进行检测,当水泵运行信号输出后,检测水泵运行反馈信号。如水泵运行信号,输出1秒后未收到水泵运行反馈信号,则故障指示灯闪亮,同时复位水泵运行信号。 7、故障状态自保持,当故障原因消除且按下复位按钮事,故障复位。 8、ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D,输入信号5路。 I0.0:自动手动模拟装换开关SA0,当I0.0接通时为自动模拟,I0.0断开时为手动模拟状态。 I0.1:水泵手动启动按钮SB1,常开点。 I0.2:水泵停止按钮SB2,常闭点。 I0.3:故障复位按钮SB3,常开点。 I0.4:水泵运行状态反馈,正常状态下,水泵运行信号输出后接通,水泵运行信号断开后断开。 Q:输出信号四路, Q0.0:自动模拟指示灯HL0. Q0.1:水泵运行状态指示灯HL1. Q0.2:故障指示灯HL2,超液位报警时常亮,水泵反馈信号异常报警时闪亮。 Q0.3:水泵运行输出KA3。 谢谢你的大力帮助。 ” 我的回复:根据“液位机量程0—3米,对应输出信号0—10V”可得出:1米对应3.33V,2米对应6.67V,2.5米对应 8.33V,再由“ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D”可得出:1米对应数字量10667,2米对应数字量21333,2.5米对应数字量26667,按着你的要求,编写如下梯形图,供你参考。 动作原理:1、I0.0自动 / 手动,模拟开关,当改变它的状态时,其前后沿都使Q0.3=0,目的是确保进入自动模拟或手动模拟状态时,水泵都处于停止状态。 2、I0.0=0(手动模拟状态):按一下启动开关I0.1,使Q0.3=1,水泵运行,按一下启动开关I0.2,使Q0.3=0,水泵停止。 3、I0.0=1(自动模拟状态):当液面上升2米高时,模拟块输出的数字量ALWO=21333,图中2M支路的比较器动作,使Q0.3=1,水泵运行。同时T100得电开始延时,延时1秒时,如I0.4=1(即水泵运行状态反馈正常状态下),其常闭点断开,不会触发M2.0,即不报警,但如I0.4=0(即水泵运行状态反馈异常状态),其常闭点闭合,将触发M2.0,使M2.0=1,Q0.2闪动输出,即发出反馈异常报警。当液面高度低于1米时,ALWO<10667,第二个比较器动作,使Q0.3=0,水泵停。当液面高度高于2.5米时,ALWO>26667,第三个比较器动作,使Q0.3=0,水泵停。又使M2.1=1,Q0.2=1,发出故障报警。处理完故障后,按一下I0.3,其M2.0与M2.1=0,复位。 2、网友求助:“ 要求:当带锁定按钮按下,接触器能吸合一下,马上又能断开,当按钮复位后,同一个接触器能吸合一下,马上又能断开。所用器件没有限制,也可用PLC编程,(我想了很久也做不出来,请高手指点一下,谢

西门子S7-200Modbus通信与变频器通信实例

西门子S7-200通过自由口需要控制英威腾变频器的正负转停止和故障复位,运行频率控制以及分二次读取运行速度等12条变频器信息。程序略微变动适应所有Modbus RTU需要控制。 下面是程序,可以直接导入程序后写入PLC试验 ORGANIZATION_BLOCK 主程序:OB1 TITLE= BEGIN Network 1 // 主程序,初始化并查执各变频器指令 // 一.功能介绍 // 该程序专为英威腾CHF系列变频器编写。英威腾CHF系列变频器内置国际标准的MODBUS通信协议。程序运行时,变频器作为MODBUS协议从站接收来自CPU224 PLC的通信指令,实现起停、频率给定、监控等功能。 // CHF系列矢量变频器在与CPU224通信前须做好以下准备工作: // 1.确认己安装好CHF系列变频器的通讯卡,并将卡上的端口跳线置于RS485端; // 2.用一根带9针阳性插头的串口通信电缆连接在CPU224 PLC的自由通信口端,电缆另一端的第5、3、8线分别接在CHF变频器RS485通讯卡的GND、485+、485一端子上,其余线屏蔽不用; // 3.预先设置变频器以下参数: // PC.00=1 //变频器通讯地址为1 // PC.01=3 //通讯波特率9.6K // PC.02=1 //通讯数据偶校验8位数据位1位停止位 // P0.03=2 //变频器的运行指令采用通讯方式 // P3.01=7 //变频器的A频率设定采用通讯方式(注意P3.04/P3.05对P3.01通讯频率的影响) // 二.程式结构说明 // 该程序由1个主程序3个子程序及2个中断程序组成。子程序里包含了变频器的起停、复位、查询功能指令,由主程序调用。中断程序为发送及接收指令提供中断支持。 // main //主程式,初始化并查执各变频器指令 // sbr0 //CRC校验子程序

s7200与wincc通信应用

S7-200系列PLC与WINCC以太网通信CP243i的实例 一. 硬件连接: 将CP243i的两端分别与S7-200的PPI口和以太网线连接(上图使用的是交叉网线,如果中间加交换机就要用直连网线,注:我们平时用的都是直连型网线) 二. 监控计算机的软件设置: a.OPC—西门子PC_Access的设置: S7-200一般都是通过PC_Access(OPC server)软件再与WinCC相连的。因此要首先 设置PC_Access,但是在设置前一定要先运行一次西门子的MicroWin ,在它的设置PG/PC 接口中选择[ TCP/IP(Auto) 实际的网卡名],目地是将PC_Access的驱动选为TCP/IP, 之后打开PC_Access,见下图: 用鼠标右健点击[ MicroWin(TCP/IP) ],然后用鼠标左键选择[ 新PLC(N)…]

只要填写[ IP地址:192 .168 .1 .10 ](注:这是CP243i转换器的IP地址),然后直接点击[ 确认] ,进入下图: 用鼠标点击[NewPLC]→新(N) →项目(I) ,如下图所示:

新建项目的对话框: 下边做4个例子:

(1)名称:ITEM_VB10,地址:VB10,数据类型:BYTE (2)名称:ITEM_Q0_0,地址:Q0.0,数据类型:BOOL (3)名称:ITEM_I0_2,地址:Q0.2,数据类型:BOOL (4)名称:ITEM_MD20,地址:MD20,数据类型:REAL 添加完变量后,一定要存一下盘!至于文件名随便写一个或用缺省的也可 建立4个ITEM后,用鼠标安下图次序(1)(2)(3)依次点击,就进入了测试状态 如果通讯正常,质量显示为good 否则为bad b. 西门子WinCC的设置: 打开WinCC,新建一个项目[ test_s7_200]:

s7-200和12台modbus仪表的通讯实例

TITLE=程序注释 Network 1 // 网络标题 // 网络注释 LD SM0.1 R M0.0, 128 Network 2 LD M0.1 EU S M1.0, 1 Network 3 LD SM0.0 = L60.0 LD SM0.0 = L63.7 LD L60.0 CALL SBR1, L63.7, 19200, 0, +100, M0.1, VB0 Network 4 LD M1.0 = L60.0 LD M1.0 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 3, 0, 40001, +14, &VB500, M1.1, VB1 Network 5 LD M1.1 R M1.0, 1 Network 6 LD M1.1 = L60.0 LD M1.1 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 3, 1, 40014, +2, &VB200, M1.2, VB2 Network 7 LD M1.2 R M1.1, 1 Network 8 LD M1.2 = L60.0 LD M1.2 EU = L63.7

CALL SBR2, L63.7, 4, 0, 40001, +14, &VB528, M1.3, VB3 Network 9 LD M1.3 R M1.2, 1 Network 10 LD M1.3 = L60.0 LD M1.3 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 4, 1, 40014, +2, &VB204, M1.4, VB4 Network 11 LD M1.4 R M1.3, 1 Network 12 LD M1.4 = L60.0 LD M1.4 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 5, 0, 40001, +14, &VB556, M1.5, VB5 Network 13 LD M1.5 R M1.4, 1 Network 14 LD M1.5 = L60.0 LD M1.5 EU = L63.7 LD L60.0 CALL SBR2, L63.7, 5, 1, 40014, +2, &VB208, M1.6, VB6 Network 15 LD M1.6 R M1.5, 1 Network 16 LD M1.6 = L60.0 LD M1.6 EU = L63.7

S7-200两台和三台PLC主从站PPI通信实例

PPI通信实例:实现2台S7-200的PPI通信 说明:实现2台S7-200PLC通过PORT0口互相进行PPI通信。通过此实例,了解PPI通信的应用。 实例实现:在教6-119实验室,利用第五排机架的RA_5.3和RA_5.4机架进行实例操作。 图1:S7-200CPU之间的PPI通信网络 如图1:系统将完成用甲机的I0.0-I0.7控制乙机的Q0.0-Q0.7,用乙机的I0.0-I0.7控制甲机的Q0.0-QO.7。甲机为主站,站地址为2;乙机为从站,站地址为3,编程用的计算机站地址为0。 实验体会: 1 注意在STEP7-Micro/WIN软件里波特率的设置和PPI电缆设置要一致。可选择默认的9.6kbps。

2 配置STEP7-Micro/WIN使用PPI协议时,将PPI电缆设置为多主站电缆模式,这样方便PC机对主站的操作。否则会报错,给操作上带来很多麻烦。 3 请分别用PC/PPI电缆连接各个PLC进行端口设置,并将设置好的系统块下载到CPU中。 4 SMB30是S7-200 PLC PORT0通讯口的控制字,务必搞清楚控制字各位的含义。 端口设置: 打开编程软件,选中“系统块”,打开“通讯端口”。 如下图:设置端口0站号为3,选择9.6kbps,然后下载到CPU 中,同样的方法设置另一个CPU。

利用网络连接器和网络线把甲机和乙机端口0连接,利用软件搜索如下图:

从站(站3)不编写程序附梯形图程序:

对站3进行写操作,把主站IB0发送到对方(站3)的QB0

PPI通讯实验: 网络读写编程大致有如下几个步骤: 1.规划本地和远程通信站的数据缓冲区 2.写控制字SMB30(或SMB130)将通信口设置为PPI主站 3.装入远程站(通信对象)地址 4.装入远程站相应的数据缓冲区(无论是要读入的或者是写出的)地址

主题:S7-200模拟量EM235编程实例

主题:S7-200模拟量EM235编程实例 西门子S7-200模拟量编程 本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容: 1、模拟量扩展模块接线图及模块设置 2、模拟量扩展模块的寻址 3、模拟量值和A/D转换值的转换 4、编程实例 模拟量扩展模块接线图及模块设置 EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。下面以EM235为例讲解模拟量扩展模块接线图,如图1。 图1 图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X +和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。 对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。(后面将详细介绍) EM235的常用技术参数: 模拟量输入特性 模拟量输入点数4 输入范围电压(单极性)0~10V 0~5V 0~1V 0~500mV 0~100mV 0~50mV 电压(双极性) ±10V ±5V ±2.5V ±1V ±500mV ±250mV ±100mV ±50mV ±25mV 电流0~20mA 数据字格式双极性全量程范围-32000~+32000 单极性全量程范围0~32000 分辨率12位A/D转换器 模拟量输出特性 模拟量输出点数1 信号范围电压输出 ±10V 电流输出0~20mA 数据字格式电压-32000~+32000 电流0~32000 分辨率电流电压12位 电流11位 下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。 EM235开关单/双极性选择增益选择衰减选择 SW1 SW2 SW3 SW4 SW5 SW6 ON 单极性 OFF 双极性 OFF OFF X1 OFF ON X10

西门子S7-200Modbus通信与变频器通信实例之欧阳学文创作

西门子S7200通过自由口需要控制英威腾变频器的正负转停止和故障复位,运行频率控制以及分二次读取运行速度等12条变频器信息。程序略微变动适应所有Modbus RTU需要控制。 欧阳学文 下面是程序,可以直接导入程序后写入PLC试验 ORGANIZATION_BLOCK 主程序:OB1 TITLE= BEGIN Network 1 // 主程序,初始化并查执各变频器指令 // 一.功能介绍

// 该程序专为英威腾CHF系列变频器编写。英威腾CHF 系列变频器内置国际标准的MODBUS通信协议。程序运行时,变频器作为MODBUS协议从站接收来自CPU224 PLC 的通信指令,实现起停、频率给定、监控等功能。 // CHF系列矢量变频器在与CPU224通信前须做好以下准备工作: // 1.确认己安装好CHF系列变频器的通讯卡,并将卡上的端口跳线置于RS485端; // 2.用一根带9针阳性插头的串口通信电缆连接在 CPU224 PLC的自由通信口端,电缆另一端的第5、3、8线分别接在CHF变频器RS485通讯卡的GND、485+、485一端子上,其余线屏蔽不用; // 3.预先设置变频器以下参数: // PC.00=1 //变频器通讯地址为1 // PC.01=3 //通讯波特率9.6K // PC.02=1 //通讯数据偶校验 8位数据位 1位停止位 // P0.03=2 //变频器的运行指令采用通讯方式 // P3.01=7 //变频器的A频率设定采用通讯方式(注意

P3.04/P3.05对P3.01通讯频率的影响) // 二.程式结构说明 // 该程序由1个主程序3个子程序及2个中断程序组成。子程序里包含了变频器的起停、复位、查询功能指令,由主程序调用。中断程序为发送及接收指令提供中断支持。 // main //主程式,初始化并查执各变频器指令 // sbr0 //CRC校验子程序// sbr1 //通讯端口初始化子程序 // sbr2 //发送变频器写入06/读取03指令,共8个字节// intO //接收完成中断程序 // int1 //发送完成中断程序 LD SM0.1 CALL SBR1 //调用初始化子程序,使能PORT0自由口模式 Network 2 // 接收完成后延时10mS M4.4接通,运行下一次发送数据LDN M4.0 AN M4.1

S7-200自由口通讯示例

PLC 和变频器 频器博客原创(https://www.wendangku.net/doc/6e814512.html,)
S7通讯的编程步骤-----自由口通讯 S7-200 通讯的编程步骤---自由口通讯
S7-200 自由口通讯是基于 RS485 通讯基础的半双工通讯, 因此, 发送和接收指令不能同时执行。 自由口通讯使用 SMB30(口 0)和 SMB130(口 1)来定义通讯口 的工作模式。SMB30/SMB130 各位的定义如下:
图 1:通讯口工作模式寄存器
使用自有口通讯,SM30.0 和 SM30.1(SM130.0 和 SM130.1=0) 必须分别为 1 和 0。 发送指令(XMT) 一、 发送指令(XMT) 使用 XMT 发送指令可以把存于缓冲区中的数据, 一次发送一个或
1

PLC 和变频器 频器博客原创(https://www.wendangku.net/doc/6e814512.html,)
多个字节的数据,最多为 255 个。发送完最后一个字符后还可以连接 到一个发送完中断(端口 0 为 9,端口 1 位 26,见下表) 。
图 2:中断事件表
2

PLC 和变频器 频器博客原创(https://www.wendangku.net/doc/6e814512.html,)
发送缓冲区的格式如下表所示:
图 3:发送缓冲区的格式 说明: T+0:发送信息的字节个数需要提前定义。 T+1~T+255:要发送的数据字节
和 XMT 有关的寄存器:SMB4 的 SM4.5 和 SM4.6。SM4.5=1 时,口 0 发送完毕;SM4.6=1 时,口 1 发送完毕。 由以上可以看出,有两种方法可以检测端口 0 或 1 的数据发送 状态:一种是利用中断,一种是利用寄存器 SMB4 的第 5 位(口 0) 和第 6 位(口 1) 。 接收指令(RCV) 二、 接收指令(RCV) 使用接收指令(RCV)可以从端口 0 或 1 接收一个或多个字节的 数据(最多 255 个) ,并存于数据缓冲区。接收完最后一个字节后可 以连接到一个接收完中断(口 0 是 23,口 1 是 24,见图 2 所示) 。 接收缓冲区的格式如下表所示:
3

西门子S7200与变频器MODBUS通讯实例详解

西门子S7200与变频器MODBUS通讯实例详解 西门子S7200PLC简介 西门子S7-200PLC在实时模式下具有速度快,具有通讯功能和较高的生产力的特点。一致的模块化设计促进了低性能定制产品的创造和可扩展性的解决方案。来自西门子的S7 - 200微型PLC可以被当作独立的微型PLC解决方案或与其他控制器相结合使用。 Modbus通讯协议简介 Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。 ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。 1 MODBUS RTU协议在S7-200中的应用原理 1.1 MODBUS RTU协议与S7-200相互关系简介 S7-200 CPU上的通讯口Port0可以支持MODBUS RTU协议,成为MODBUS RTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。 想在S7-200 CPU与其他支持MODBUS RTU的设备使用MODBUS RTU协议通讯,需要由有S7-200 CPU做MODBUS主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。 2 从站指令的用法: S7-200控制系统应用中,MODBUS RTU从站指令库只支持CPU上的通讯0口(Port0)。要

S7-200实现Modbus通信范例(绝对精华)

说明: 使用下面的例程你可以在S7-200CPU之间设置一个简单的Modbus通讯。 这个例子是关于Modbus功能码6的(写从站保持寄存器),也可以作为其他所支持的功能码:1, 2, 3, 4, 5, 15 和16 的基本参数设置步骤。 要求: 要使用Modbus协议必须先在STEP 7 Micro/Win上安装指令库。 Modbus主站协议只支持STEP 7 Micro/Win V4.0 SP5及其以上版本.。 1. 硬件设置 2. 参数匹配 3. 指令库的存储地址 4. 保持寄存器值得传输 1. 硬件设置 例程中的Modbus通讯是在两个S7-200 CPU的0号通讯口间进行的(最好每个CPU 都有两个通讯口)。在主站侧也可以选择相应库文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通过1号通讯口通信。通讯口1与Micro/WIN建立PG或PC连接,两个CPU的通讯口0通过PPI电缆进行连接(电缆的针脚连接为2,3,7,8)。

图. 01 2. 参数匹配 对于MODBUS通讯, 主站侧需要程序库 "MBUS_CTRL" 和 "MBUS_MSG", 从站侧需要程序库 "MBUS_INIT" and "MBUS_SLAVE"。 在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。 必须要保证主站与从站的“Baud”和"Parity"的参数设置要一致,并且程序块"MBUS_MSG"中的"Slave"地址要与程序块"MBUS_INIT"中的"Addr"所设置的一致 (见图. 02)。 Micro/WIN“系统块”中设置的0通讯口的波特率与MODBUS协议无关("Mode" = "1")。 图. 02 下面的表格列出了程序块各个参数选项及其意义 主站

通过S7协议实现S71200与S7200通讯

通过S7协议实现S7-1200 与S7-200的通信Communication between S7-1200 and S7-200 via S7 protocol

摘要 本文介绍了通过 S7 协议实现S7-1200 与S7-200的通信。 关键词S7 协议,S7-1200,S7-200 Key Words S7 protocol,S7-1200,S7-200 IA&DT Service & Support Page 2-15

目录 1.概述 (4) 2.硬件需求 (4) 3.软件需求 (4) 4.组态 (5) 4. 1 S7-1200 配置 (5) 4. 2 S7-1200 PLC 编程 (5) 4. 3 S7-200 配置 (7) 4. 4 S7-200 PLC 编程 (11) 4. 5 检测 S7-1200 与S7-200 PLC 通信结果 (12) 5.总结 (14) IA&DT Service & Support Page 3-15

IA&DT Service & Support Page 4-15 1.概述 通过以太网可以实现S7-1200与S7-200连接通信。S7-200可以使用 模块(CP243-1或CP 243-1 IT )连接到以太网上,该模块提供S7 通信的功能,既可作为客户机,也可以作为服务器,可以同时与最多8个S7 通信伙伴进行通信;S7-1200 集成以太接口,提供S7 通信的功能,只能作为服务器,可以同时建立3 个通信连接。 下面会用一个实例来描述S7-200 如何与S7-1200建立通信连接。 图1: 实例网络拓扑图 2.硬件需求 ? S7-1214C AC/DC/RLY ? CPU 224 XP CN DC/DC/DC ? CP243-1 IT ? SCALANCE X204-2 ? PG/PC(使用编程电缆) 3.软件需求 ? S7-1200编程软件 STEP 7 Basic V10.5 ? S7-200 编程软件 STEP 7 –MicroWIN V4.0 SP6

(完整版)S7-200模拟量输入输出实例

对输入、输出模拟量的PLC编程的探讨及编程实例解析 3134人阅读| 4条评论发布于:2011-12-29 9:03:42 对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。比如有3个温度传感变送器:(1)、测温范围为0~200 ,变送器输出信号为4~20ma (2)、测温范围为0~200 ,变送器输出信号为0~5V (3)、测温范围为-100 ~500 ,变送器输出信号为4~20ma (1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。 一、转换公式的推导 下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导: 对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号,20ma 对应数子量=32000,4 ma对应数字量=6400; 对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V对应数字量=32000,0V对应数字量=0; 这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:

上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。编程者依据正确的转换公式进行编程,就会获得满意的效果。 二、变送器与模块的连接 通常输出4~20ma电流信号的传感变送器,对外输出只有+、- 二根连线,它需要外接24V电源电压才能工作,如将它的+、- 二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流,见下左图。下右图粉色虚线框内为EM235 模块第一路模拟输入的框图,它有3个输入端,其A+与A-为A/D转换器的+ - 输入端,RA 与A-之间并接250Ω标准电阻。A/D转换器是正逻辑电路,它的输入是0~5V电压信号,A-为公共端,与PLC的24V电源的负极相连。 那么24V电源、传感变送器、模块的输入口三者应如何连接才是正确的?正确的连线是这样的:将左图电源负极与传感器输出的负极连线断开,将电源的负极接模块的A-端,将

威纶触摸屏与s7-200通信实例

目录 1. 范例操作概述 2. 规划说明 3. 元件列表 1. 范例操作概述 此范例将介绍如何快捷简易地建立WEINVIEW HMI与S7-200 PLC通讯。注意事项:通讯参数设置,通讯线接法。 2. 规划说明 (1) 新建简单PLC 示例程序,建立外部输入点I0.0,I0.1,辅助继电器M0.0,外部输出点Q 0.0,数据寄存器VW0,VW2。 注意: 外部输入I 的状态取决于外部的物理开关状态,Project 工程里做指示灯显示,不被直接用做开关量。可借助辅助继电器控制输出,如程序示例。

(2) PLC 通讯参数设置:在系统块下,通讯端口设置,如设置端口0:PLC 地址2,波特率19.2kbps。 (3) EB8000 软件,PLC 设备属性通讯参数设置:通讯参数如波特率等必须与第(2)步的通讯端口设置一致,如PLC 地址2,波特率19.2kbps。可依据PLC 的通讯参数作修改,如PLC 地址改为2,波特率改为187.5kbps;PLC 和HMI 的程序通讯参数都必须做对应修改。

建议:与S7-200 通讯时,建议将通讯延时、ACK 讯号延时分别设置为默认值5ms、30m s(如上图),但可根据通讯速率需求做适当修改。 (4) 通讯线制作:EB8000 软件,说明——帮助主题——PLC 连接手册,可查询通讯线接法。 注意:通讯线接法必须与选择的COM 口一致,如上述选择COM1 口,通讯线:屏(公头)1、2、5——PLC(公头)8、3、5。与SIEMENS S7-200CN PLC 通讯时,建议在D-和D+之间接上一个100Ω 1/4W终端电阻。 说明: A、SIEMENS S7-200 驱动可与SIEMENS S7-200 系列PLC 包含CPU212/CPU214/CP U215/CPU216/CPU221/CPU222/CPU224/ CPU226 等型号连接,并且支持187.5kbps 的波特率通讯。 B、SIEMENS S7-200 (Ethernet)支持如上述S7-200 PLC 型号的以太网模块通讯,具体接线方法和参数设置,请参考“说明——帮助主题——PLC 连接手册”。 C、SIEMENS S7-200 (VD any address)驱动使用VD 寄存器的地址可以不为4 的整数

S7-200编程的几个实例的编程技巧解析

用S7-200编程的几个实例的编程技巧解析 本文用S7-200 编写的几个实例都是在网上发表或在回答网友的求助编写的,程序短小,针对性强,有程序解析,特别适合初学者学习参考。 一、网友求助“西门子PLC用一个按钮控制电机启停,不容许用中继,

此时M6.0=0、M6.1=1,故使Q0.0=1,电机正传运行。随后将按钮抬起,T101 的后沿使MB5+1,此时MB5=0000_0001。 3)电机停转:按下按钮不抬起,此时MB5=0000_0001。延时1秒后T102动作,T102=1的前沿,将MB5送入MB6,之后MB5清0,此时M6.0=1、M6.1=0, 故Q0.0、Q0,1皆为0,电机停止转动。当按钮抬起时,T101的后沿触发MB0, 使MB5=1。 4)电机反转运行:点击二下按钮(I1.0),产生二个(T101=1)的正脉冲,其后沿触发MB5计数器,使其+2,再按下按钮不抬起,此时MB5=0000_0011。经 1秒延时,T102闭合,其前沿将MB5的内容送入MB6,随之将MB5清0。 此时M6.0=1、M6.1=1,故使Q0.1=1,电机反传运行。随后将按钮抬起,T101 的后沿使MB5+1,此时MB5=0000_0001。 该程序不需任何外围硬件,而且程序简短,经上机运行考验,程序正确, 动作可靠。可以实用。 三、网友求助:“s7-300里的定时器t1,怎么循环启动? 现在是,使用完一次,t1 就停止了!而我想用T1实现每隔2秒重复一个动作!请大家帮忙,谢谢!” 又提出:“其实,我就是想用定时器来实现每隔3秒,QB0循环右移一位。我现在比较菜鸟哈,希望高手们能指点详细点,最好能有梯形图!嘿嘿,感谢!!” 回复:“楼主:根据你的要求“其实,我就是想用定时器来实现每隔3秒,QB0循环右移一位。”我给你编出用S7-200和用S7-300编出的功能一样的梯形图。从图中可以看出,S7-200由于采用字节循环右移指令,所以编出程序简短易懂。S7-300由于没有字节循环右移指令,就得通过编程来达到同样的功能作用,编出的程序相对长了一些,看懂梯形图也相对难了一点。有什么问题可以提出,我可以解答。” 解析梯形图: 1、图一是用S7200编写的图形图,其编程技巧有二:(1)用通电延时定时器T101的常闭点连接T101的线圈构成振荡器,其脉冲的低电平为3秒宽度,高电平为连续二个扫描周期的间隔时间,即只出现一次,故可直接用T101的常开触点去触发QB0的循环右移,而不需选用其前沿触发,就可确保QB0只右移一次。(2)、选用字节循环右移指令,在 T101=1的这一扫描周期里将此时刻的QB0内容右移一位,同时又自动的将移出的QB0的

威纶触摸屏与s7-200通信实例

威纶触摸屏与s7-200通信实例

?目录 1. 范例操作概述 2. 规划说明 3. 元件列表 1. 范例操作概述 此范例将介绍如何快捷简易地建立WEINVI EW HMI与S7-200 PLC通讯。注意事项:

通讯参数设置,通讯线接法。 2. 规划说明 (1) 新建简单PLC 示例程序,建立外部输入点I0.0,I0.1,辅助继电器M0.0,外部输出点Q0.0,数据寄存器VW0,VW2。 注意: 外部输入I 的状态取决于外部的物理开关状态,Project 工程里做指示灯显示,不被直接用做开关量。可借助辅助继电器控制输出,如程序示例。 (2) PLC 通讯参数设置:在系统块下,通讯端口设置,如设置端口0:PLC 地址2,波特率19.2kbps。

(3) EB8000 软件,PLC 设备属性通讯参数设置:通讯参数如波特率等必须与第(2)步的通讯端口设置一致,如PLC 地址2,波特率19.2kbps。可依据PLC 的通讯参数作修改,如PLC 地址改为2,波特率改为187. 5kbps;PLC 和HMI 的程序通讯参数都必须做对应修改。

建议:与S7-200 通讯时,建议将通讯延时、ACK 讯号延时分别设置为默认值5ms、30 ms(如上图),但可根据通讯速率需求做适当修改。 (4) 通讯线制作:EB8000 软件,说明——帮助主题——PLC 连接手册,可查询通讯线接法。 注意:通讯线接法必须与选择的COM 口一致,如上述选择COM1 口,通讯线:屏(公头)1、2、5——PLC(公头)8、3、5。与SIEMENS S7-200CN PLC 通讯时,建议在D-和D+之间接上一个100Ω 1/4W终端电阻。 说明:

威纶触摸屏与s7200通信实例

?目录 1、范例操作概述 2、规划说明 3、元件列表 1、范例操作概述 此范例将介绍如何快捷简易地建立WEINVIEW HMI与S7-200 PLC通讯。注意事项:通讯参数设置,通讯线接法。 2、规划说明 (1) 新建简单PLC 示例程序,建立外部输入点I0、0,I0、1,辅助继电器M0、0,外部输出点Q 0、0,数据寄存器VW0,VW2。 注意: 外部输入I 的状态取决于外部的物理开关状态,Project 工程里做指示灯显示,不被直接用做开关量。可借助辅助继电器控制输出,如程序示例。

(2) PLC 通讯参数设置:在系统块下,通讯端口设置,如设置端口0:PLC 地址2,波特率19、2 kbps。 (3) EB8000 软件,PLC 设备属性通讯参数设置:通讯参数如波特率等必须与第(2)步的通讯端口设置一致,如PLC 地址2,波特率19、2kbps。可依据PLC 的通讯参数作修改,如PLC 地址改为2,波特率改为187、5kbps;PLC 与HMI 的程序通讯参数都必须做对应修改。

建议:与S7-200 通讯时,建议将通讯延时、ACK 讯号延时分别设置为默认值5ms、30ms(如上图),但可根据通讯速率需求做适当修改。 (4) 通讯线制作:EB8000 软件,说明——帮助主题——PLC 连接手册,可查询通讯线接法。 注意:通讯线接法必须与选择的COM 口一致,如上述选择COM1 口,通讯线:屏(公头)1、2、5——PLC(公头)8、3、5。与SIEMENS S7-200CN PLC 通讯时,建议在D-与D+之间接上一个100Ω 1/4W终端电阻。 说明: A、SIEMENS S7-200 驱动可与SIEMENS S7-200 系列PLC 包含CPU212/CPU214/CP U215/CPU216/CPU221/CPU222/CPU224/ CPU226 等型号连接,并且支持187、5kbps 的波特率通讯。 B、SIEMENS S7-200 (Ethernet)支持如上述S7-200 PLC 型号的以太网模块通讯,具体接线方法与参数设置,请参考“说明——帮助主题——PLC 连接手册”。 C、SIEMENS S7-200 (VD any address)驱动使用VD 寄存器的地址可以不为4 的整数倍,但就是地址间隔必须大于4。

S7-200网络通信及实例

S7-200网络通信及实例 行业者2009-09-19 16:19:26 阅读427 评论1 字号:大中小 1. ........比较详细的介绍,请参阅《S7-200可编程控制器系统手册》第7章:通过网络进行通信。 ........下面仅简单说明一下部分通信协议: PPI(Point to point interface)协议: ........该协议是西门子内部协议,不公开。点对点接口,是一个主/从协议。主站向从站发送申请,从站进行响应,从站器件不发信息,不初始化信息,只是等待主站的要求并对要求作出响应。但当主站发出申请或查询时,从站对其响应。主站可以是其他CPU主机(如S7-300等)、编程器或TD200文本显示器。网络中的所有S7-200都默认为从站。S7-200系列中一些CPU如果在程序中允许PPI主站模式,则在RUN模式下可以作为主站,此时可以利用相关的通信指令来读写其他主机,同时它还可以作为从站来 响应其他主站的申请或查询。 ........主站靠一个PPI协议管理的共享连接来与从站通讯。PPI并不限制与任意一个从站通讯的主站数量,但是在一个网络中,主站的个数不能超过32。如果在用户程序中使能PPI主站模式,S7--200 CPU 在运行模式下可以作主站。在使能PPI主站模式之后,可以使用网络读写指令来读写另外一个S7--200。 当S7--200作PPI主站时,它仍然可以作为从站响应其它主站的请求。 ........PPI高级允许网络设备建立一个设备与设备之间的逻辑连接。对于PPI高级,每个设备的连接个数是有限制的。所有的S7--200 CPU都支持PPI和PPI高级协议,而EM277模块仅仅支持PPI高 级协议。 ........PPI协议是专门为S7-200开发的通信协议。S7-200 CPU的通信口(Port0、Port1)支持PPI 通信协议,S7-200的一些通信模块也支持PPI协议。Micro/WIN与CPU进行编程通信也通过PPI协议。

S7 200 SMART S7通信

一、S7-200 SMART CPU之间的以太网通信 S7-200 SMART CPU 固件版本V2.0 及以上版本的CPU 可实现CPU、编程设备和HMI(触摸屏)之间的多种通信: — CPU与编程设备之间的数据交换。 — CPU与HMI之间的数据交换。 — CPU与其他S7-200 SMART CPU之间的PUT/GET通信。 S7-200 SMART CPU 以太网连接资源如下: — 1个连接用于与STEP7 Micro/Win SMART软件的通信。 — 8个连接用于CPU与HMI之间的通信。 — 8个连接用于CPU与其他S7-200 SMART CPU之间的PUT/GET主动连接 — 8个连接用于CPU与其他S7-200 SMART CPU之间的PUT/GET被动连接 PUT/GET 指令格式 S7-200 SMART CPU提供了PUT/GET 指令,用于S7-200 SMART CPU之间的以太网通信(PUT/GET 指令格式见表1)。PUT/GET 指令只需要在主动建立连接的CPU 中调用执行,被动建立连接的CPU不需要进行通信编程。PUT/GET 指令中TABLE 参数用于定义远程CPU的IP地址、本地CPU和远程CPU的数据区域以及通信长度(TABLE 参数定义见表2)。 表1 PUT和GET 指令: LAD/FBD STL 描述 PUT TABLE PUT 指令启动以太网端口上的通信操作,将数据写入远程设备。PUT 指令可向远程设备写入最多212 个字节的数据。 GET TABLE GET 指令启动以太网端口上的通信操作,从远程设备获取数据。GET 指令可从远程设备读取最多222 个字节的数据。 表2 PUT和GET 指令的TABLE参数定义: 字节 偏移 量 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 D1A2E30 错误代码4 1 2

s7200自由口通讯教程及编程实例(二)

S7-200自由口通讯教程及编程实例(二) 排行榜收藏打印发给朋友举报发布者:admin 热度19票浏览175次【共1条评论】【我要评论】时间:2009年11月11日19:03 三、PLC编程 现在,我们已经知道如何用AT指令发送短消息,剩下的工作是用PLC程序来发送这些AT指令。S7-200的通讯端口为RS-485接口,RS-485接口为半双工接口,因此,编写PLC 程序的关键是避免在通讯端口上同时发送和接收。我们下面将介绍一种标准的编程模式,按照这种模式编写自由口通讯程序可以有效的避免因同时发送和接收造成的通讯冲突,从而保证程序的正常运行。 1. 初始化 Network 1 LD SM0.1 MOVB 9, SMB30 MOVB 2#, SMB87 MOVB '>', SMB88 MOVW +5, SMW92 MOVB 255, SMB94 ATCH INT_0, 23 ATCH INT_1, 9 ENI 将上面这段程序添加到主程序中,对PLC的端口0进行初始化。这段程序以SM0.1为触发条件,每当PLC进入RUN状态时执行一次。 MOVB 9, SMB30 该指令将端口0设置为9600,8,N,1 自由口方式 MOVB 2#, SMB87 SM87.7=1 允许端口0接收字符 SM87.6=1 当检测到与SMB88中相同的字符时开始接收,并将该字符当作信息的首字符 SM87.5=0 不检测信息的结束字符 SM87.4=0 不检测端口空闲状态 SM87.3=0 定时器为内部字符定时器,意思是PLC开始接收信息后(检测到起始字符),每接收到一个字符就启动定时器,当定时器到达在SMW92中设置的时间后,即认为定时器

西门子S7-200模拟量编程实例!文图并茂~~

???6 ??? ?(0 ?? ????????? ?????? ?????? ?????$ '???? ?? ???? (0 ???????? ????? ?????????(0 ???????? ? ? ? ????????????;ˇ?;ˉ????5;?;ˇ???????āˇā??

???;ˇ?;ˉ?? ????????????????????????????????? (0 ??? ???? ???? ???? ? 9 ? ? 9 ? P ? P ? P ???f 9 f f f 9 f P f P f P f P f ??? ? P $ ??? ? ?? ??? ? ?$ '? ???? ???? ?? f 9 ?? ? P $ ? ? ? ? ????',(0 ?? ? ??????? ?????? (0 (0 ? ? ?? )) )) )) ; )) ; )) ; )) )) )) )) )) )) ???', ?????????6 ?2???????????6 ?2))???????????

?6????????6 ?6 ?6 ????? ?',???????????? ?',??????????????? ??? ???????????????????))6(7?*$,???????????? $????????? %??&3???? ? &???????????????????????? '????????&3????? (??))6(7?????????????????? )?????????????Ё????????&3??? *??*$,??????????? ????? +???????? (0 ??? ????? ????&3????????? ?? )) )) )) ? P )) )) )) ? P )) )) )) ? P $ )) )) )) ? 9 - )) )) )) )) ? )) )) )) )) ? P $ $ )) )) )) )) ? 9 )) 2)) 2 )) 2)) f )) 2 )) 2 )) 2)) f P )) 2)) 2 )) 2)) f P - )) 2)) 2)) 2 )) f P )) 2 )) 2)) 2 )) f - )) 2)) 2 )) 2 )) f 9 - )) 2)) 2)) 2)) 2)) f )) 2 )) 2)) 2)) 2)) f )) 2)) 2 )) 2)) 2)) f 9

相关文档
相关文档 最新文档