S7-200主从通讯怎么用?

我现有个项目,数字量输入40点,数字输出40点,模拟量输入16点,模拟量输出12点,控制程序不是很大,准备选用200的做,有个老师告诉我可以直接用PPI主从通讯做,但我不知道怎么用

最佳答案

多个CPU进行通讯,可以利用向导或网络读写指令进行主从通讯:
 每条网络读写指令最多能够读或者写16个字节的数据;每个CPU内最多只能有8条网络读写指令同时激活,而网络读写指令的数目没有限制。

 只有通信主站能够使用网络读写指令。缺省情况下,S7-200 CPU的通信口设置为从站模式。因此在编程时,需要把通信口设置为通信主站模式。

  在一个PPI网络中,与一个从站通信的主站的个数并没有限制,但是一个网络中主站的个数不能超过32个。主站既可以读写从站的数据,也可以读写主站的数据。也就是说,S7-200作为PPI主站时,仍然可以作为从站响应其他主站的数据请求。

  一个主站CPU可以读写网络中任何其他CPU的数据。

 由于串行通信的特点,通信数据的接收(或者发送)是不能与PLC程序的扫描周期配合的。所有的通信活动都需要PLC操作系统的管理,网络读写(包括其他类似的通信指令)指令只是告诉操作系统有需要处理的通信任务。因此,网络读写指令采取通信数据缓冲区的方式,在操作系统的通信管理功能与PLC的用户程序之间交换信息。

 网络读写指令(NetR/NetW)的数据缓冲区类似。数据缓冲区除了状态字节和地址、数据长度之外,剩余的部分就是纯数据字节。能够传送到通信对象,或者从对象接收的仅仅是数据字节,不包括数据个数等信息。远程站(通信对象)的数据缓冲区则是纯数据区域。

 网络读写指令可以传递V存储区、M存储区、I/Q区的数据。这取决于设定数据地址时,使用间接寻址方式将地址信息写入到缓冲区中的相应位置,地址信息中包括了存储区和数据的类型。
 使用用NetR/NetW时,应当注意:

 避免简单地定时激活NetR/NetW:由于串行通信的特点(如上所述),无法得知何时真正结束。如果定时进行网络读写通信,必须判断此次通信是否正常结束 
 同时有效的NetR/NetW指令不能超过8个,否则通信请求队列会超出操作系统的管理能力 
 使用SM0.0调用网络读写指令,虽然能长期工作,但不能超过8个指令,而且会出现监控时指令块变为红色的现象,最好还是加上必要的读写状态判断条件。 

 
 网络读写编程大致有如下几个步骤:

 规划本地和远程通信站的数据缓冲区 
 写控制字SMB30(或SMB130)将通信口设置为PPI主站 
 装入远程站(通信对象)地址 
 装入远程站相应的数据缓冲区(无论是要读入的或者是写出的)地址 
 装入数据字节数 
 执行网络读写(NetR/NetW)指令 
  各CPU的通信口地址在各自项目的System Block(系统块)中设置,下载之后起作
 

提问者对于答案的评价:

 

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午9:43
下一篇 2021年7月5日

相关推荐

  • “Sign Operation”符号处理指令库

    “Sign Operation”符号处理指令库,如有,请分享一下,邮箱:william126@126.com 问题补充:文件下载,但是无法解压(SignOperation…

    SIMATIC S7-200 2021年7月5日
  • S7-200中向导PTO/PWM配置好后,还要编写指令程序吗?

    向导PTO/PWM配置好后,自动生成一个子程序,那么这个子程序在主程序SBR中要进行调用吗?是否不需要调用就可以让输出Q点输出脉冲?是不是还要使用PLS指令输出脉冲?如果以上的步骤…

    SIMATIC S7-200 2020年10月31日
  • 流量计模拟量定容问题

    流量计使用模拟量输出4~20ma信号,要求可以设定流量。比如1000升。这个程序该怎么做。PLC位S7_200 问题补充:不是4~20MA的换算问题,对应量程已经获取。(假设4~2…

    SIMATIC S7-200 2017年8月24日
  • s7200通讯时,PPI灯常亮,TX、RX快闪就是找不站?

    在作S7200快速扫描找站时(串口),s7200通讯时用的是带拨码开关的西门子PPI电缆,PPI灯常亮,TX、RX快闪就是找不站? 然后用wipeout。exe作出厂恢复…

    SIMATIC S7-200 2017年11月1日
  • K-TP178时间同步

    我使用S7-200的PLC和K-TP178触摸屏,因接触屏内部无时钟功能。我用指令读S7-200时内部间,组态画面用日期时间域显示正常,但在报警视图中的时间却始终是从2004-1-…

    SIMATIC S7-200 2021年7月5日
  • ETHx_CTRL

    ETHx_CTRL,现有一个工程需要用cp243-1与s7200 +wincc做,我用向导配置以太网后,调用ETHx_CTRL时,不清楚其中的cp_readych_rea…

    SIMATIC S7-200 2020年11月1日
  • 西门子S7-200PLC程序什么意思

    200PLC程序中有一个临时寄存器,“#:L0.1”不知道这个L0.1为什么前面要加#号,而且不知道为什么只有“#:L0.1”触点,没有线圈,不知道什么时候应该导通,麻烦解释一下这…

    SIMATIC S7-200 2017年6月27日
  • 求200编程电缆的下载地址

    求200编程电缆的驱动下载地址 问题补充:USB口的,驱动不是授权 最佳答案 原装的,不需要驱动。国产的,在卖电缆的厂家网站上就可以搜到。 提问者对于答案的评价:

    SIMATIC S7-200 2021年7月4日
  • s7200smart数据读取

    如何在smart编程软件中,读取到某个双字VD200(浮点数)的一个瞬间数据?由于数据变化很快,想测量到准确的数据,而不是经过数据状态监控表读取。各位大神,有什么好办法吗? 钻石用…

    SIMATIC S7-200 2021年7月5日
  • modbus地址表

    最近做了一个200的小项目,其中一个要求是可以利用Modbus 485通讯。PLC中关于Modbus的程序已有,听说还要填一个Modbus地址表,不晓得这个表应该在哪个填…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论