研选课堂
HOME
研选课堂
正文内容
s7200PLC编程及应用答案 S7-200 PLC编程及应用电子书
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

S7-200 PLC编程及应用电子书

今天给大家送的礼物是《电工速算手册》电子书籍

电工朋友们是不是已经迫不及待了

文末会提供给你们获取方式哦

如果想要这本书

转发并私信回复“S7-200电子书 领取

「零基础入门PLC」S7-200 SMART 编程技巧及实例分享

S7-200 SMART在编程中常见问题解析

工欲善其事必先利其器,在日常的程序编辑和调试过程中,可能会遇到各种各样的问题,比如编辑好的逻辑程序执行结果不正确,编译正常的程序下载到不同的CPU中,有些可以下载,而有些提示非致命错误等等,此时如何快速的排查和分析错误发生原因就非常重要,而排查和分析的前提就需要对S7-200 SMART从软件和硬件上有更加深入的了解,下面我们就通过几个典型的案例来进行问题的分析。

案例 1

首先看图1这段程序,编译无任何问题,如果下载到不同类型的CPU中,表现就会不同,我们可以尝试下载到ST60和CR60两种类型的CPU中。

图1 主程序

下载到ST60中,程序运行正常,如果下载到CR60中,程序运行就会报非致命错误:操作数非法(错误码:0090),图2为具体的非致命错误信息:

图2 PLC信息

根据程序分析错误出现的原因和中断有关,可以查询S7-200 SMART系统手册中断章节可以找到对应答案,如表1所示,24号中断事件CR60不支持,所以在运行时会报错非致命错误。

表1

综上,当需要程序在多个不同类型CPU之间下载或者移植时,就需要提前了解各个CPU的程序容量大小、支持的数据区的大小,断电保持区域大小,是否使用到了CPU不支持的功能或者CPU固件版本是否支持等因素,只有了解了这些,才能做到有的放矢。

案例 2

在日常编程过程中,我们可能需要各种标准库,有时需要子程序和中断程序有多重调用关系,例如下面这个案例,程序想使用格雷码转换库在定时中断中每隔100ms进行一次数据的格雷码转换,请看图3:

图3 主程序

图4 子程序

程序的调用关系为:中断子程序INT0调用子程序SBR1,SBR1中调用子程序SBR2,SBR2中的程序如图4所示,下载到CPU中,通过状态图表监视程序状态,发现没有结果输出,如图5所示:

图5 状态图标监控无输出

进一步监控PLC信息,可以看到图6的非致命错误报警:超出最大用户子例程嵌套级别(错误码:0008)

图6 PLC信息

S7-200 SMART手册中规定:从主程序调用子例程的嵌套深度是 8 级,从中断例程调用嵌套深度是 4 级。

现在来看上述程序的调用关系:

INT0→SBR1→SBR2→GRAY_BIN_DW,表面上也仅仅嵌套了3级,满足中断嵌套深度要求,但是仔细查看GRAY_BIN_DW功能库可以发现,该库也嵌套了几层,嵌套关系如下:

GRAY_BIN_DW→GRAY_BIN→XOR,这样下来,嵌套关系就变成如下:

INT0→SBR1→SBR2→GRAY_BIN_DW

→GRAY_BIN→XOR,总共5层嵌套关系,超过了CPU支持的最大嵌套深度,导致CPU 无法运行,知道了原因,我们可以减少调用嵌套为4层以内,则程序就可以正常执行了。

通过以上描述就可以明白,有些看似不可理解的问题其实有其发生的原因,只有深入了解对应产品的技术细节,才能抽茧剥丝,找到问题的根源所在。

S7-200 SMART如何快速提高编程效率

在日常的编程过程中,我们可能需要不少的逻辑运算和算术运算,如果这种运算很多,有可能会导致程序量很大,CPU的扫描周期加长,在这种情况下,找到其中的规律,可以大大简化程序。

假设一个场景,现场有16台设备,需要控制16台泵的启停,IO地址如下表所示:

表2

一般的编程思路是单独写出每个泵的启动停止控制逻辑,如图7所示,需要编写16组控制逻辑:

图7 单个泵的启停控制

其实针对这种编程,我们可以变换一种思路,将上面的梯形图变换成图8所示的逻辑,也可以完成对应的控制功能:

图8 字逻辑运算

这样变换完成后,编程就显得特别简洁,因此编程思路很重要。

在另外一些应用场景中,有时需要记录现场设备的运行时间,一般情况下我们可以使用定时器来实现计时的功能,但S7-200 SMART定时器有数量限制(最大256个),并且最大时基为100ms的定时器其所能达到的最大计时长度为3276.7S,若想实现小时或者天的计时就需要定时器加计数器来实现,而计数器也有数量限制(最大256个),当需要类似的功能很多时,计数器和定时器数量就不够用了,此时可以使用系统特殊存储器 SM0.4(周期为60S的时钟脉冲)和SM0.5(周期为1S的时钟脉冲)来实现计时功能。

如图9所示,其中值VD0的单位为秒,在实际应用中,可以对这个数值进行再次转换,得到分钟、小时或者天的时间值(本例中VD4的单位为小时),同时这些地址也可以按需设置在S7-200 SMART断电保持区域中,实现不同时间长度的定时以及断电保持功能,非常方便。

图9 使用SM0.5实现计时功能

实际编程时对于一些功能重复的地方,我们可以考虑做成子程序多次调用,一些需要重复计算的功能,可以使用FOR NEXT循环来完成,也可以考虑使用间接寻址的方式来提高程序的灵活性,而对一些流程方面的控制可以使用顺序控制继电器来完成,这样可以大大提高编程的效率。

相关问答

(SIEMENS)西门子S7-200.PLC编程软件STEP_7.-.MicroWIN_V4_0...

首页资讯查报价排行榜问答论坛应用违法和不良信息举报电话:010-6421816...5条回答:【推荐答案】有两种可能,一种是你的软件是升级版,不是完全安装版,那么...

WIN7的系统肿么才能运行S7-200的编程软件吗?我的电脑装上后...

WIN7的系统肿么才能运行S7-200的编程软件吗?我的电脑装上后不能和PLC通讯。举报HIFI功放一体机帝瓦雷帝瓦雷2003人讨论8417次围观关注问题写回答讨论...

s7一200plc怎么进行程序调试?

1,程序编好号下载到PLC中,并保证电脑和PLC一直在通信状态2,编程软件上点击程序状态监控按钮3,例如我要在编程软件上接通I0.0,先选中I0.0,然后在表示I0.0...

西门子S7-200PLC是什么东西,做什么用的?

西门子S7-200PLC是西门子公司生产的一种可编程序控制器,主要用来进行电器线路的逻辑控制,现在中型以上的电器设备控制系统都采用PLC系统。西门子S7-200PLC是...

西门子S7-200PLC无法通信,端口无法打开或正在由另一个应用程序使用,怎么弄?

是不是同时开了两个编程软件,是不是开了PCACCESS服务器,是不是有上位机在连接PLC,如果都不是,软件重启试下或系统注销再登录编程线重新插拔试下。是不是同时...

WIN7的系统怎么才能运行S7-200的编程软件吗?我的电脑装上后不能和PLC通讯?

不知道安装的是哪个版本?要不安装最高版本SP9试试看。在下面点击下载。西门子PLCS7-200编程软件最新版本(2012.3)STEP7MicWIN_V4SP9完整版,全面支持Windo.....

plc200常用的指令?

西门子S7-200PLC是可编程逻辑控制器的一种,广泛应用于工业控制领域。以下是S7-200PLC常用的指令:LD:逻辑“与”指令,用于将两个触点进行串联,形成逻辑“与...

s7200plc和编码器如何编程?

S7-200PLC和编码器之间的连接和编程可以通过以下步骤实现:1.确定编码器类型:首先,要了解编码器的类型(例如绝对值编码器还是增量编码器),以便正确地连接...

西门子S7-200smartPLC编程软件程序出现三个问号❔?

双击就可以写入地址号了双击就可以写入地址号了

S7-200PLC编程,用步进电机控制机械臂转动90度?

S7-200的发送脉冲不是很好用,不过就你这个功能而言还是很好实现的!首先制作一个原点回归程序,每次开机都自我判断一次,校准机械原点!然后设置好细分,发送定...

 世纪百年  宝鸡第一中学 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部