西门子自由口通讯知识

上传人:人*** 文档编号:432751954 上传时间:2023-10-08 格式:DOC 页数:17 大小:455.50KB
返回 下载 相关 举报
西门子自由口通讯知识_第1页
第1页 / 共17页
西门子自由口通讯知识_第2页
第2页 / 共17页
西门子自由口通讯知识_第3页
第3页 / 共17页
西门子自由口通讯知识_第4页
第4页 / 共17页
西门子自由口通讯知识_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《西门子自由口通讯知识》由会员分享,可在线阅读,更多相关《西门子自由口通讯知识(17页珍藏版)》请在金锄头文库上搜索。

1、S7-200系列自由口通讯的实现及应用i引言为了达到和通讯协议已知的控制设备进行数据交换,以提高自动化控制系统的灵活性,很多pic制造商都相继的开发出了方便、灵活的自由口通讯方式,例如三菱公司的fx2系列pic, omro n公司的cjml系列的pic,西门子公司的S7-200系列pic等都提供了自由口通 讯模式。自由口通讯是指pic提供了串行的通讯硬件,和用于定制通讯协议的相关指令,在控制系统中,当要和 pic连接的控制设备的通讯协议已知时,可以在pic中进行编程定制通讯协议,和控制设备进行数据通讯。本文主要介绍西门子S7-200的自由口和计算机的串口进行的通讯,计算机中采用visuai b

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

3、,下面我们以smb130为例,介绍其组成。smb130各位的含义如下:PPDBBBMMpp :两位用于选择通讯的校验方式当这两位的组合是:00无校验 01偶校验 10无校验11奇校验d :这一位用于选择通讯的数据位数d=1时7个数据位,d=0时8个数据位bbb :用于选择自由口通讯是的波特率,这三位的组合和通讯波特率的关系如下:000 38400bps001 19200bps010 9600bps011 4800bps100 2400bps101 1200bps110 600 bps111 300 bpsmm:用于通讯协议的选择,当这两位的组合是:00 ppi从站模式01自由口通讯模式 10

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

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

6、1时:使用中断检测丟1 英它和曰由口谨饥育关的特殊宇SIVB88* SME1 8 8ShE S 9 . SME1 1定*结束早符SM 泸/9 0 S t -T1/*/1 9 O空嗣銭检测田间识定 Iff Ims :SKTW92 . SMW1 9 2 j13 B1因间检測设定10: m s :SKC 9,SN1B1 3要挂收的最大宇符皈2.5自由口通讯的指令(1) 发送指令xmt其指令格式如图所示:XMTENTBLPORT发送指令用于激活发送数据缓冲区tbl中的数据,数据格式如下所示, 数据缓冲区中的第一个数据是指定要发送的数据的总字节数,最大为255个,从第二个数据开始是依次要发送的数据。po

7、rt指定用于发送的端口,在发送完缓冲区中的最后一个数据时产生中断事件。(2) 发送指令rcv其指令格式如图所示:XMTENTBLPORT接收指令rcv用于从指定的端口接收数据,并将接收到的数据存储与其参数tbl所指定的缓冲区内,缓冲区的第一个字节指示接收到的字节数量,第二个字节指示接收的起始字符, 最后一个字节指示的是结束字符,起始字符和结束字符之间的是接收到的数据,同发送缓冲区一样,接收缓冲区的最大数量也是255个字节。(3) 与自由口通讯有关的中断 (见表2)慕2与自由口通1H有去的中斷中曲事件号中曲事件岀W6P-R11柠咳宅农中曲2EP0RT1升始摆枚中断巴疔n夏茯宪战中断pic自由口通

8、讯的程序设计 3.1自由口通讯的初始化子程序(见图1)在瓦Ui 硕媳花吕丽白也遵审gei in n jfc角几逐E右口竟直由口1乔1* ” &蚩讦 n瘠竹jgl啊耳致QCtt血T養1MOV_B1-f ucun1!NtMJT*SM813O祝逢倾砂|$MB1S3的gft划IM東書K US用丽yg忤并空方監鼻 MOV BENOOUTkSMBier在瓦Ui 硕媳花吕丽白也遵审gei in n jfc角几逐E右口竟直由口1乔1* ” &蚩讦 n瘠竹jgl啊耳致QCtt血T養在瓦Ui 硕媳花吕丽白也遵审gei in n jfc角几逐E右口竟直由口1乔1* ” &蚩讦 n瘠竹jgl啊耳致QCtt血T養图 1

9、(a)$M011I-MOV_B|Jf|Jf|1 1C Nt,ASH 卿Out产MSI殆Mta 4I说MN*舱椿扌町i电?gSMO1mOv wT 1fNENOXIHOUT图 1(b)卜jTdFpc站血中科.鶴京退主天申袖魂幡旬申M传iMo.時農农总国中話理fff*申皿事传囚和SM01ATCM1 1j|UENOXIIILNA盘龙翎W* 3JTLATCHEKEM)曝收芫先牢”MT电EVNTE HI )糠豊Im*nm笈氏三式中INTO:常辭畅谨nRhFXft中聖INll图 1(c)图 1(d)3.2自由口通讯的发送子程序(见图2)m 1SMOOT IN-VB100TmOv wEtiENO图 2(a)p

10、EBO图 3(a)1卜图 2(b)SM02*_ NEXT)VB1000* TBL-PORISHOO1 H(1MQ 1一$泗mtvEaoomit剧口,逋it*的幵隔豊切嗚AHls仍式杨收勤的mief征科vssooff 咄帧“ 无中SMO1-HtvmhM2MOV_OWEHENO製QUL_91当強口 taiTFrrirf Its wife 1 ,当凑口1在有不町坏袴收5GE?iI叮右知从 vBaooffgpytt丸护Mid1 |gg11r* NronEnenowmtfVdiL13.3自由口通讯的接收程序(见图3)图 3(b)3.4自由口通讯的开始接收中断服务程序(见图4)m 1卜力CPV灼开力存1曲

11、中阿長坟紀TM1M11CO图4自由口通讯的开始接收中断服务程序3.5自由口通讯的接收完成中断服务程序(见图5)IPVCW疔宅虎中料序图5自由口通讯的接收完成中断服务程序3 vb中的串行口通讯组件介绍3.1 vb中串行通讯控件的引用在vb的标准工具箱中并没有用于串行通讯的控件,在使用时需要引用,引用的方法是在vb界面中的下拉菜单中选择 工程/部件,在出现的可选文件中选择msccomm32.ocx,选择引用后在vb的标准工具箱中就会出现vb下的串行口通讯控件。如果无法按照上述的方法在部件中成功地引用组件,也可以使用该程序中的浏览功能,到windows/system 目录下去找msccomm32.o

12、cx,并打开该文件。3.2 vb中串行通讯控件的属性(1)commport :该属性用于设置 vb应用程序所使用的串行口号,其设置值为116 ,对 应计算机的com1com16号端口。(2) sett in gs :该属性用于设置串行口的通讯参数,其格式为“ bbbb p, d , s其中bbb为通讯的波特率,波特率范围为30019200 bps ; p为奇偶校验方式,其设置方法是e代表偶校验,o代表奇校验,n代表无校验;d为通讯的数据位数,通常是 8位或7位;s代 表停止位,停止位的设定值有1、1.5、2。例如,setting属性的设置为,mscomm。settings= 9600 , n, 8, 1表示通讯波特率为 9600 ,无校验,8个数据位,1个停止位。(3) portope :在使用串行口进行通讯前必须先打开串行口,该属性用于串行口的打开与 关闭,其设置值为true或false,分别代表串行口的打开与关闭。(4) in put :该属性的作用是从输入缓冲器中将数据读入到程序中,并清除缓冲区中已被 读走的内容。(5) output :该属性的作用是从程序中写数据到输出缓冲器中,写入到输出缓冲器中的内容由串口发送出去。(6) inputlen :该属性指定由串行口读入的字符串长度,vb所写的程序可以使用该

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号