设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
【智】S7-200PLC步进单轴回原点正反点正反转正反限位案 ...
返回列表
发新帖
[西门子]
【智】S7-200PLC步进单轴回原点正反点正反转正反限位案例...
[复制链接]
68380
|
0
|
2024-8-30 14:16:46
|
显示全部楼层
|
阅读模式
自由口通讯俗称无协议通讯,即有用户自定义通讯协议。在上一期中讲解了S7-200与PC(个人计算机)自由口通讯编程及串口调试软件的调试,所采用的是字符中断的方式来进行接收数据,其中是不需要RCV接收指令的,而自由口通信的核心指令就是发送(XMT)和接收(RCV)指令,今天就主要来讲解自由口通信的发送(XMT)和接收(RCV)指令。
发送指令
发送指令(XMT)激活发送数据缓冲区(TBL)中的数据,数据缓冲区以字节为单位,第一个字节为要发送的字节数,其后为发送的信息字符,最大为255个,使用边沿触发发送指令;PORT指定用于发送的端口,PORT=0的时候表示由0口向外发送数据,PORT=1的时候表示由1口向外发送数据。如果有一个中断服务程序连接到发送结束事件上,在发送完缓冲区中的最后一个字符时,则会产生一个中断,对端口0为中断事件9,端口1为中断事件26,通过监视SM4.5或SM4.6信号,也可以判断发送是否完成。当端口0及端口1发送空闲时,SM4.5或SM4.6置1。注意:由于SM4.5/4.6的使用受程序扫描周期的影响,编程中推荐使用发送完成中断。在下面程序实例中使用发送完成中断。
使用S7-200与PC(个人计算机)自由口的通讯,用串口调试软件测试发送指令,实例程序及调试如下图所示:
接收指令
接收指令( RCV)通过指定端口(PORT)接收信息并存储于数据缓冲区(TBL),缓冲区中第一个字节为接收的字符个数,其后为接收的信息字符,缓冲区最多可有255个字节,使用边沿触发或第一个扫描周期触发接收指令;需要注意的是RCV使能会将TBL缓冲区中的字符个数清零;PORT指定用于接收的端口,同发送指令;如果有一个中断服务程序连接到接收信息完成事件上,在接收完缓冲区中的最后一个字符时,S7-200会产生一个中断,对端口0为中断事件23,端口1为中断事件24。也可以不使用中断,通过监视SMB86(端口0)或者SMB186(端口1)的状态信息来接收信息。当接收指令未被激活或者已经被中止时,这一字节不为0;当接收正在进行时,这一字节为0。
看完上面发送指令和接收指令的介绍,看似两个指令差不多,但接收指令没有想象的那么简单,XMT(发送)指令的使用比较简单,RCV(接收)指令的使用却要复杂的多,接收字符信息过程需要一定的控制。
RCV指令的基本工作过程为:
1.在逻辑条件满足时,启动(一次)RCV指令,进入接收等待状态
2.监视通信端口,等待设置的消息起始条件满足,然后进入消息接收状态
3.如果满足了设置的消息结束条件,则结束消息,然后退出接收状态
所以,RCV指令启动后并不一定就接收消息,如果没有让它开始消息接收的条件,就一直处于等待接收的状态;如果消息始终没有开始或者结束,通信口就一直处于接收状态。这时如果尝试执行XMT指令,就不会发送任何消息。所以确保不同时执行XMT和RCV非常重要,可以使用发送完成中断和接收完成中断功能,在中断程序中启动另一个指令。
接收指令起始和结束条件
接收指令使用接收信息控制字节(SMB87或SMB187)中的位来定义信息起始和结束条件。必须为接收信息功能操作定义一个起始条件和一个结束条件(其中必须定义接收的最大字符个数限制)。这是学好自由口通讯的关键。接收信息控制字节SMB87(PORT0)或SMB187(PORT1)如下图所示:
接收指令起始条件和结束条件较为多样,在下面的实例程序中使用开始字符作为起始条件,使用结束字符作为结束条件,限制接收的最大字符个数,使用接收完成中断作为判断字符接收完成的信号。同样使用S7-200与PC(个人计算机)自由口的通讯,用串口调试软件测试接收指令,实例程序及调试如下图所示:
最后我们做一个用PLC接收指令接收串口调试软件发送的字符然后将PLC接收的字符数据用发送指令发送回串口调试软件,编写PLC程序及调试画面如下图所示:
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
阿蚊在线
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』