欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    西门子S7200自由口通讯知识.docx

    • 资源ID:2186171       资源大小:520.30KB        全文页数:13页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    西门子S7200自由口通讯知识.docx

    1、西门子S7200自由口通讯知识S7-200系列自由口通讯的实现及应用比较有用的资料,有S7-200 PLC的话,可以试试。1 引言 为了达到和通讯协议已知的控制设备进行数据交换,以提高自动化控制系统的灵活性,很多plc制造商都相继的开发出了方便、灵活的自由口通讯方式,例如三菱公司的fx2系列plc, omron公司的cjm1系列的plc, 西门子公司的s7-200系列plc等都提供了自由口通讯模式。自由口通讯是指plc提供了串行的通讯硬件,和用于定制通讯协议的相关指令,在控制系统中,当要和plc连接的控制设备的通讯协议已知时,可以在plc中进行编程定制通讯协议,和控制设备进行数据通讯。本文主要

    2、介绍西门子s7-200的自由口和计算机的串口进行的通讯,计算机中采用visual basic进行编程,从而实现计算机与可编程控制器的直接控制。该通讯方式具有效率高、容易实现、通讯硬件简单、容易配置等特点在工业控制领域中被广泛应用。2 s7-200通讯指令及特殊字节 采用自由口通讯方式时,s7-200上的rs485口完全由用户控制,可以与任何协议已知的设备进行通讯,在这种情况下通讯协议完全由用户制定,为此,s7-200提供了用于进行通讯协议定制的特殊标志位以及相关的通讯指令。2.1 特殊标志字节 s7-200用于自由口通讯模式定义的特殊标志字节有smb30和smb130,smb30用于s7-20

    3、0的端口0的通讯,smb130用于s7-200的端口1的通讯,两者的格式一样,下面我们以smb130为例,介绍其组成。smb130各位的含义如下: pp:两位用于选择通讯的校验方式 当这两位的组合是: 00无校验 01 偶校验 10 无校验 11 奇校验 d:这一位用于选择通讯的数据位数 d=1时7个数据位,d=0时8个数据位 bbb:用于选择自由口通讯是的波特率,这三位的组合和通讯波特率的关系如下: 000 38400bps 001 19200bps 010 9600bps 011 4800bps 100 2400bps 101 1200bps 110 600 bps 111 300 bps

    4、 mm: 用于通讯协议的选择,当这两位的组合是: 00 ppi从站模式 01 自由口通讯模式 10 ppi主站模式 2.2 接收信息的状态字节 s7-200在自由口通讯时用于接受信息的状态有smb86和smb186,smb86用于s7-200的端口0的通讯,smb186用于s7-200的端口1的通讯,两者的格式一样,下面我们以smb186为例,介绍其组成。smb186各位的含义如下: n=1时:表示禁止接收信息 r=1时:表示接收信息结束 e=1时:表示收到结束字符 t=1时:表示接收信息超时错误 c=1时:表示接收信息字符超长错误 p=1时:表示接收信息奇、偶校验错误2.3 接收信息的控制字

    5、节 s7-200在自由口通讯时用于接受信息的控制字节有smb87和smb187,smb87用于s7-200的端口0的通讯,smb187用于s7-200的端口1的通讯,两者的格式一样,下面我们以smb187为例,介绍其组成。smb187各位的含义如下: en=0时:禁止接收信息 en=1时:允许接收信息 sc=0时:不使用起始字符开始 sc=1时:使用起始字符做为接收信息的开始 ec=0时:不使用结束字符结束 ec=1时:使用结束字符做为接收信息的结束 il=0时:不使用空闲线检测 il=1时:使用空闲线检测 c/m=0时:定时器是字符定时器 c/m=1时:定时器是信息定时器 tmr=0时:不使

    6、用超时检测 tmr=1时:使用超时线检测 bk=0时:不使用中断检测 bk=1时:使用中断检测2.4 其它和自由口通讯有关的特殊字节(见表1)2.5 自由口通讯的指令 (1) 发送指令xmt 其指令格式如图所示: 发送指令用于激活发送数据缓冲区tbl中的数据,数据格式如下所示,数据缓冲区中的第一个数据是指定要发送的数据的总字节数,最大为255个,从第二个数据开始是依次要发送的数据。port指定用于发送的端口,在发送完缓冲区中的最后一个数据时产生中断事件。 (2) 发送指令rcv其指令格式如图所示: 接收指令rcv 用于从指定的端口接收数据,并将接收到的数据存储与其参数tbl所指定的缓冲区,缓冲

    7、区的第一个字节指示接收到的字节数量,第二个字节指示接收的起始字符,最后一个字节指示的是结束字符,起始字符和结束字符之间的是接收到的数据,同发送缓冲区一样,接收缓冲区的最大数量也是255个字节。 (3) 与自由口通讯有关的中断(见表2)3 plc自由口通讯的程序设计3.1 自由口通讯的初始化子程序(见图1)图1(a)图1(b)图1(c)图1(d)3.2 自由口通讯的发送子程序(见图2) 图2(a)图2(b)3.3 自由口通讯的接收程序(见图3)图3(a)图3(b)3.4 自由口通讯的开始接收中断服务程序(见图4)图4 自由口通讯的开始接收中断服务程序3.5 自由口通讯的接收完成中断服务程序(见图

    8、5)图5 自由口通讯的接收完成中断服务程序4 vb中的串行口通讯组件介绍4.1 vb中串行通讯控件的引用 在vb的标准工具箱中并没有用于串行通讯的控件,在使用时需要引用,引用的方法是在vb界面中的下拉菜单中选择工程/部件,在出现的可选文件中选择mscm32.ocx,选择引用后在vb的标准工具箱中就会出现vb下的串行口通讯控件。如果无法按照上述的方法在部件中成功地引用组件,也可以使用该程序中的浏览功能,到windows/system目录下去找mscm32.ocx,并打开该文件。4.2 vb中串行通讯控件的属性 (1) mport:该属性用于设置vb应用程序所使用的串行口号,其设置值为116,对应

    9、计算机的116号端口。 (2) settings:该属性用于设置串行口的通讯参数,其格式为“bbbb,p,d,s”其中bbb为通讯的波特率,波特率围为30019200 bps;p为奇偶校验方式,其设置方法是e代表偶校验,o代表奇校验,n代表无校验;d为通讯的数据位数,通常是8位或7位;s代表停止位,停止位的设定值有1、1.5、2。例如,setting属性的设置为,msm。settings= 9600,n,8,1表示通讯波特率为9600,无校验,8个数据位,1个停止位。 (3) portope:在使用串行口进行通讯前必须先打开串行口,该属性用于串行口的打开与关闭,其设置值为true或false,

    10、分别代表串行口的打开与关闭。 (4) input:该属性的作用是从输入缓冲器中将数据读入到程序中,并清除缓冲区中已被读走的容。 (5) output:该属性的作用是从程序中写数据到输出缓冲器中,写入到输出缓冲器中的容由串口发送出去。 (6) inputlen:该属性指定由串行口读入的字符串长度,vb所写的程序可以使用该属性将存放在输入缓冲器中读入,但欲指定所读入的字符的长度则可以通过该属性来设置,默认值是0,在默认情况下,input指令一次读取所有输入缓冲区中的数据。 (7) rthrehold:该属性用于设置当输入缓冲器中接收到的字符数等于该属性的设定值时,引发接受事件on -m事件。当ms

    11、m.rthreho -ld=0时不会产生onm事件。 (8) inbuffercount:该属性是指已接收到的并放在输入缓冲器中等待读取的字符的数量。在使用时可把该属性设置为0用来清除输入缓冲器。 (9) inputmode:该属性用于设置由input属性取回的数据的形式。该属性设置值如表3。4.3 vb中串行通讯控件的事件 (1) mevent属性用于传回下列所述的值之一,来表示不同的通讯错误或事件,通讯错误的返回值如表4所示。(2) 通讯事件的返回值如表5所示。4.4 visual basic中用于串口通讯的程序代码 (1) 在form1的代码的公共部分定义变量: dim rcvlenth

    12、 as integer 定义接收数据长度的整形变量 dim rcv() as byte 定义接收数据的动态数组 dim send(50) as byte 定义发送数据的动态数组 (2) 在form1load的代码中对msm1控件进行设置: private sub form_load() rcvlenth=0 msm1.mport=1 指定计算机通讯的端口号 msm1.settings = 9600,n,8,1 设置通讯波特率及校验方式 msm1.inputmode= inputmodebinary msm1.rthreshold=1 msm1.inputlen=0 msm1.outbuffer

    13、count=0 if not msm1.portopen then msm1.portopen = true end sub (3) 在msm1的onm()事件中加入以下代码,用于接收数据: private sub msm1_on-m() dim i as intger dim rcvtemp() as byte redim preserve rcv (ms-m1.inbuffercount) as byte select case msm1.-mevent case evreceive rcvtemp=msm1.input for i=lbound(rcvtemp) to ubound(rc

    14、vtemp) rcvlenth=rcvlenth + 1 rcv(rcvlenth)=rcvtemp(i) next i end select end sub (4) 在timer1_timer()事件中加入如下代码用于定时的发送数据: private sub timer1_timer() dim i as intger for i=1 to 50 msm1.output = send(i) next i end sub (5) 程序界面如图6所示。图6 程序界面5 结束语 s7-200的自由口通讯方式,使用户可以通过plc指令自己定义通讯协议,从而与任何公开通讯协议的rs-422或rs-232c接口设备进行通讯,使通讯围大为增加,控制系统配制更加灵活。本文也介绍了采用vb进行串行口通讯的控件和编程方法。采用本文叙述的方法,可以组成一个上、下位机控制管理系统,将plc的信息转换成各类画面显示,并可以对plc的参数进行实时修改,达到管理、控制一体化。作者简介 红兵 男 供职于科技大学电子信息工程学院。参考文献1 西门子s7-200用户手册,20052 明芹.plc控制技术.:化工3 立元.利用visual basic实现串并行通讯技术.:清华大学


    注意事项

    本文(西门子S7200自由口通讯知识.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开