plc做主站的时候,不管PLC连接的是单从站还是多从站,主站程序都应该考虑到从站会发生故障,从站故障有两种,一种是有故障,但不影响和主站通讯,另一种是有故障,不能和主站通讯,例如从站掉电,通讯线故障或者从站本身故障导致的不能和主站通讯。
对于后者,主站在发送后,从站是不会回复数据的,主站不能等,而应该结束RCV接收状态,然后发送,那么为什么和如何结束RCV接收状态呢?
一 为什么要结束RCV接收状态呢?
发送指令XMT将数据发送出去就完事,而接收RCV不一样,一次完整成功的RCV过程需要以下步骤:
1 使能位:SM87.7=1/SM187.7=1,执行RCV的时候会检查该位
2 执行RCV
3 等待消息起始条件
4 接收信息
5 等待消息结束条件
6 退出接收状态
RCV指令启动后并不一定就接收消息,如果消息起始条件没有达到,那就一直处于等待接收的状态;
如果消息始终没有开始或者结束,通信口就一直处于接收状态。这时如果尝试执行XMT指令,就不会发送任何消息。
所以要结束接收RCV接收状态后才能执行XMT。
二:如何结束RCV接收状态?
手册上给出6种结束条件:
1.结束字符检测
2.字符间计时器
3.信息计时器
4.最大字符计数
5.校验错误
6.用户终止
方法1:前4种条件在从站发生通讯故障后就失效了,必须要配合用户终止
一般执行XMT后,在发送完成中断里执行RCV,同时启动定时中断或者启动定时器或者执行开始间隔时间BITIM,计时时间到复位使能位SM87.7/SM187.7,同时执行RCV,这样结束RCV指令,比如定时中断里发送:
LD SM0.0
R SM87.7, 1
RCV VB0, 0
S SM87.7, 1
LD SM0.0
DTCH 10
LD SM0.0
XMT VB100, 0
方法2:设置:SMB87=16#9C, SMW90/SMW190=0,SMW92/SMW192=x
执行RCV指令x毫秒后自动结束接收状态。
如果用的是字符中断方式接收信息,那么将中断分离后即可发送
DTCH 8
XMT VB100, 0
用结束字符作为结束条件的时候,如果与设备的通信断了,CPU就会停滞在接受状态,之后的发送也不成功了,通讯也彻底断了。
后来别人教我在发送前面用复位SMB87.7结束发送就好了。
自由口用RCV接收,接收到的数据总是一部分,不全,反复检查做实验,才发现原来是结束的定时器时间设短了,导致数据没有接收完,RCV就结束了,增大了时间,一切就OK了。
刚做自由口编程时,一下载下去,编程软件就无法和CPU通信了,后来打到停止状态,CPU才恢复PPI,可以正常监控,下载了。
关键字:plc 自由口 编程处理
引用地址:plc自由口编程处理
对于后者,主站在发送后,从站是不会回复数据的,主站不能等,而应该结束RCV接收状态,然后发送,那么为什么和如何结束RCV接收状态呢?
一 为什么要结束RCV接收状态呢?
发送指令XMT将数据发送出去就完事,而接收RCV不一样,一次完整成功的RCV过程需要以下步骤:
1 使能位:SM87.7=1/SM187.7=1,执行RCV的时候会检查该位
2 执行RCV
3 等待消息起始条件
4 接收信息
5 等待消息结束条件
6 退出接收状态
RCV指令启动后并不一定就接收消息,如果消息起始条件没有达到,那就一直处于等待接收的状态;
如果消息始终没有开始或者结束,通信口就一直处于接收状态。这时如果尝试执行XMT指令,就不会发送任何消息。
所以要结束接收RCV接收状态后才能执行XMT。
二:如何结束RCV接收状态?
手册上给出6种结束条件:
1.结束字符检测
2.字符间计时器
3.信息计时器
4.最大字符计数
5.校验错误
6.用户终止
方法1:前4种条件在从站发生通讯故障后就失效了,必须要配合用户终止
一般执行XMT后,在发送完成中断里执行RCV,同时启动定时中断或者启动定时器或者执行开始间隔时间BITIM,计时时间到复位使能位SM87.7/SM187.7,同时执行RCV,这样结束RCV指令,比如定时中断里发送:
LD SM0.0
R SM87.7, 1
RCV VB0, 0
S SM87.7, 1
LD SM0.0
DTCH 10
LD SM0.0
XMT VB100, 0
方法2:设置:SMB87=16#9C, SMW90/SMW190=0,SMW92/SMW192=x
执行RCV指令x毫秒后自动结束接收状态。
如果用的是字符中断方式接收信息,那么将中断分离后即可发送
DTCH 8
XMT VB100, 0
用结束字符作为结束条件的时候,如果与设备的通信断了,CPU就会停滞在接受状态,之后的发送也不成功了,通讯也彻底断了。
后来别人教我在发送前面用复位SMB87.7结束发送就好了。
自由口用RCV接收,接收到的数据总是一部分,不全,反复检查做实验,才发现原来是结束的定时器时间设短了,导致数据没有接收完,RCV就结束了,增大了时间,一切就OK了。
刚做自由口编程时,一下载下去,编程软件就无法和CPU通信了,后来打到停止状态,CPU才恢复PPI,可以正常监控,下载了。
上一篇:西门子S7-300与G120变频器PN通讯
下一篇:PLC控制防电源短路的三相异步电动机正反转控制线路
推荐阅读最新更新时间:2024-05-02 23:48
单片机与PLC之间的串行通信实现
随着微处理器、计算机和数字通信技术的飞速发展,计算机控制已经扩展到了几乎所有的工业领域。其中,PLC和单片机在小规模控制系统中获得了广泛的应用。 在塑料挤出机温度自动控制中,选用S7-200系列PLC作为主控器件,PIC16F877单片机作为温度数据采集和模数转换芯片,单片机通过通信端口将数据传输给PLC,由于采用了RS-485接口标准,传输距离可达1000m。PLC经过PID运算后控制加热圈以保持温度恒定。下面结合实例就PLC和单片机的通信实现做一下介绍。 2、硬件构成 2.1、PIC16F877单片机 Microchip公司的PIC16F877单片机采用哈佛总线结构和精简指令集技术,具有功耗低、运行速度高、驱动能力强和外
[网络通信]
电气控制与PLC的区别
电气控制与PLC PLC控制系统与电气控制究竟有什么区别呢?这两个控制系统有很多相似之处,导致不少初学者乃至资深的老电工都会傻傻分不清!但实际上两只之间也有很大的区别,下面咱们就一起来看看两者究竟有何区别: PLC控制系统 PLC控制系统是指在传统的顺序控制器的基础上引入了微电子技术、计算机技术、自动控制技术和通讯技术而形成的一代新型工业控制装置,目的是用来取代继电器、执行逻辑、记时、计数等顺序控制功能,建立柔性的远程控制系统。具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。 电气控制系统 电气控制系统一般称为电气设备二次控制回路,不同的设备有不同的控制回路,而且高压电气设备与低压电气设备的控制方式也
[嵌入式]
PLC的条件跳转、子程序调用等
条件跳转指令: 指令名称,助记符,指令代码,程序步如下表: 程序步可以是连续执行或者是脉冲执行,CJ执行的为3步,CJ(P)为1步。 指令格式: 当我们按下X000后,程序跳转指令开始运行,程序所跳转的位置为程序指针所在的位置,也就是标号10,在这里我们要注意程序指针写在左母线的左边。当我们启动跳转指令后,X001这段程序就会被跳过不执行。 当X0为ON时,被跳转CJ命令到标号之间的程序不子执行。在跳转过程中如果Y、M,S被OUT、SET. RST指令驱动使输入发生变化则仍保持跳转前的状态。例如,通过X1驱动输出Y10后发生跳转,在跳转过程中即使X0变为ON,但输出Y10仍有效。 注意: 1、对于T、C,如果跳转时
[嵌入式]
各种类型的PLC工作原理动画
01 PLC顺序控制 02 PLC正反转控制 03 按钮开关 04 冲孔加工 05 断电延时型时间继电器 06 多点控制 07 滚轮式行程开关 08 红绿灯 09 机械手 10 交流接触器 11 热继电器 12 三相闸刀 13 时间继电器 14 手动控制 15 速度继电器 16 星三角启动 17 异步电动机转动原理 18 自动往返控制
[嵌入式]
基于Profibus DP的纸机传动控制系统设计
一、项目简介
山东德州兴泰纸业公司是山东照东方纸业集团新建的具有国内领先水平的高档板纸生产企业。其高档板纸项目为国家经贸委批复立项的国家重点技术改造"双高一优"项目。公司位于山东省平原县龙门经济开发东区,占地500余亩,总投资5亿元,主要生产100-300g/m2环保型高档工业板纸。设计生产能力为20万吨/年。该项目采用日本、欧美等国家的先进的生产工艺设备,配置了国内先进的4400/450板纸机生产线,是国内生产规模最大的生产线之一。项目工艺以美废(欧废、国废),木浆为主要原料。可参阅下图(一)。
该4200/450纸机传动控制系统以西门子S7-400 PLC为主控制器,以5个S7-200 PL
[嵌入式]
西门子PLC S7-1200软件编写总结
1.SM1234模拟量模块输入档位的选择及数字量的对应计算。 根据数据手册,该型号的模拟量输入范围有:±10V、±5V和±2.5V,在应用过程中如何根据实际输入的电压选择档位? 在博途V14的“设备组态”界面,选中模拟量模块,在下方的“属性”进行电压档位的选择; 根据选择的档位进行对应数字量的计算。具体见以下两图。 注:通道0和通道1是一体的,通道2和通道3是一体的。 当模拟量输入电压远远大于当前的选择范围时,SM1234硬件模块对应输入通道显示灯变红,提示有error。 电压档位选择 数字量与电压对应关系 2.1s内对模拟量进行10次采集均值滤波时报错。 报错有两方面原因: (1)稳定复现的报错。 原因:累加变量
[嵌入式]
PLC程序丢失有哪些原因?
PLC底层是单片机,单片机一般通过RAM和ROM这些东西来保存数据,RAM是断电就消失了,而ROM在断电下依然可以保持,除非是外力来让它改变了。因为数据比较大,很多早期PLC使用了电池来给RAM保持,只要电池电压低于某个值,就可能会造成数据丢失,更换电池时候,需要在电源通电前提下进行,否则一样会造成数据丢失。 现在数据很多是通过EEPROM或者FLASH来保存的,这两者断电后都不会造成数据丢失,如果数据丢失了,往往是硬件上坏掉了。 还有一种是EPROM,需要紫外线刷新的,盖了一张纸在上边,如果你撕掉了这张纸,会看到下边有个洞口的,这时候如果是白天,太阳光有紫外线,会把数据弄丢的,如果是在黑暗状态下,是不会有问题的。PLC虽然比
[嵌入式]
PLC日常应用中的实用技巧
近年来,随着社会的发展,PLC可编程序控制器在工业生产中得到了广泛的使用,同时技术人员对其使用要求也在逐年增高,因此对系统正常稳定运行要求也越来越高。PLC产品本身的可靠性可以保证,但在应用中一些不正确的操作会造成一定的影响。今天,小编为大家整理了一些PLC日常应用中的实用技巧,希望能对大家在日常使用PLC有所帮助。 (一)接地问题 PLC系统接地要求比较严格,最好有独立的专用接地系统,还要注意与PLC有关的其他设备也要可靠接地。多个电路接地点连接在一起时,会产生意想不到的电流,导致逻辑错误或损坏电路。产生不同的接地电势的原因,通常是由于接地点在物理区域上被分隔的太远, 当相距很远的设备被通信电缆或传感器连接在一起的时候,电缆线和
[嵌入式]
小广播
热门活动
换一批
更多
最新嵌入式文章
更多精选电路图
更多热门文章
更多每日新闻
更多往期活动
- 我们猜啦!MDO3000之竞猜有奖:免费的部分会值多少?
- 阅读并了解 TE Connectivity 无创想,不奇迹 精彩专题,答题有礼!
- 限时秒杀,100本专业书籍——TI 中国大学计划20周年
- 有奖直播预报名|TI 新一代Sitara™ AM62处理器革新人机交互——加速边缘AI的开发
- 看是德科技利用校准降低仪器测量不确定度、提高测试精度 直播享好礼!
- 答题赢好礼:利用GAN技术应对电源适配器设计挑战
- 调查:全新 TI E2E中文社区等你体验,等你抽奖!还可邀请好友助你一臂之力!
- 有奖直播报名:赛灵思和安富利专注嵌入式视觉应用,助力人工智能和汽车辅助驾驶!
- 有胆就来|英飞凌IGBT7密室逃脱,邀你来玩!
11月13日历史上的今天
厂商技术中心