西门子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编程。
S7-200 PLC端的通讯程序实现
PLC程序分为主程序和中断程序。主程序完成初始化通信口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(RCV)启动或终止接收信息功能,必须为接收操作指定开始和结束条件。发送指令(XMT)在自由口模式下依靠通讯口发送数据。
控制字的选取
反映CPU工作方式的模式开关当前位置的特殊存储器位为SM0.7,它控制自由端口模式的进入。当SM0.7为0时,模式开关处于TREM位置;当SM0.7为1时模式开关处于RUN位置。而只有当模式开关位于RUN位置时,才允许进行自由口通讯。SMB30是自由口模式控制字节,用来设定校验方式、通讯协议、波特率等通讯参数(其它控制字的设定参阅有关书籍)。
程序的一些简单介绍
NETWORK1
LD SM0.1 // 第一次扫描
MOVB 16#09,SMB30
//自由口通讯模式:9600波特率,无奇偶校验,8个数据位
MOVB 16#7C,SMB87 //接收信息状态字节
MOVB 16#53,SMB88
//设置信息的开始字符“S”
MOVB 16#45,SMB89
//设置信息的结束字符“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来判断开关量信号的故障方法
推荐阅读最新更新时间:2024-11-11 13:14
推荐帖子
- python基础:字典之运用大全
- fromkeys是把所有的键值都赋值同样的内容(如果不指定内容则默认赋值为none)不能通过fromkeys来修改原字典键值的内容,它是重新创建一个字典,并不会对原来字典的键值进行修改。用法:fromkeys((键值),(初始化数据))没有初始化数据则默认为nonew={}ww={}print(w.fromkeys((1,2,3,4,5,6)))print(ww.fromkeys((1,2,3,4,5,6),(林扬,余周周)))pr
- led2015 MicroPython开源版块
- MSP430F149比较器
- MSP430F149比较器其实这里就是看懂一幅图,两个寄存器,明白工作原理就可以了这是比较器A的逻辑图,比价器A由4个部分组成标号1:内部参考电压发生器,可以产生0.25V,0.50v的参考电压标号2,:外部电压输入端,CA0对应P2.3,CA1对应P2.4标号3:内部比较器,今天上课刚好上了比较器,也就是正输入端大于负输入端的时候,比较器输出一个1,同时产生一个中断标志位标号4:也就是比较结果输入端因此,一般的模版就可以出来了1:设置内部的参考电压2:打开外部的输入端3:
- fish001 微控制器 MCU
- 【TI官方】关于小批量特价购买TI器件的通知
- 本帖最后由paulhyde于2014-9-1503:42编辑各有关高校:为了更好的支持2011年全国大学生电子设计竞赛,TI与E络盟公司(前身即为派睿电子,一家专注于小批量销售的英国公司)合作,推出了今年的小批量特价销售计划:即经TI授权的学校,能够以TI网站公布的价格在http://cn.element14.com/texas-instruments购买部分TI器件,不受购买数量的限制。目前做了特价的器件为本科生电子设计竞赛中比较热门到的一些器件,详见附件,大家可以看到除
- 61电子 电子竞赛
- F280xx 系列的Flash做EEPROM测试代码
- 函数如下:•EEPROM_Write()•EEPROM_Read()•EEPROM_Erase()•EEPROM_GetValidBank()•EEPROM_UpdateBankStatus()•EEPROM_UpdatePageStatus()•EEPROM_GetSinglePointer(Uint16First_Call)•EEPROM_Prog
- hansonhe 微控制器 MCU
- 那位高手熟悉7188的软件开发请进
- 此贴为技术贴,非散分贴,非技术交流不予给分--------------------------------------------------------我刚接触自动化开发,不知道7188软件该如何下手开发,那位高手能详细的指点下,7188上要接四个传感器,请问如何去读和控制传感器(命令格式和返回数据格式),手头上有些资料,但没有我想要的,100分相送.那位高手熟悉7188的软件开发请进有没有高手帮帮忙呀!!!!!!高手何在7188是什么东西。
- 捷芬哥 嵌入式系统
- 中国标准的电波钟信号模拟器
- 调试电波钟很方便,使用标准的esp32开发板,直接在io脚上连接了一个汽车无钥匙进入用的125k发射天线(频率误差极大,正确的应该是68.5k),所以效率会很低,实际测试能在2米内可靠干扰电波钟的时间,如果使用频率匹配的天线io驱动应该不够,需要加一级驱动电路,比较合适的是mos门级驱动芯片使用pwm生成载波误差还不算大,偏差7hz左右,效果算是很好的了中国标准的电波钟信号模拟器附件资料是个什么格式68.5k自己用铜线绕一个大线圈效果能好点。学习了,内容非常清晰,非
- wangshujun72 MicroPython开源版块
- SiP12108A 2.8 至 5.5V 输入、5A 同步降压稳压器的典型应用
- MC32PF3000A3EP PMIC 解决方案电源管理的典型应用
- stm32数字小键盘
- 优联K375s 17键 小键盘
- 具有双输入的 LTC3126HFE 3.3V、750kHz 降压转换器的典型应用电路
- LTC3406AB-2 的典型应用 - ThinSOT 中的 2.25MHz、600mA 同步降压稳压器
- 具有电源正常输出的 LTC1728ES5-2.5、3.3V 和 5V 三路电源监视器的典型应用
- 【训练营_进阶班】基于51单片机的物联网开关+570333W
- 基于esp32的多功能应用卡片appcardV3
- LTC4367HMS8-1 用于滞后调节的过压电源控制器的典型应用