用S7-200编程的3个实例与解析之八 点击:2030 | 回复:6



wyb2866255

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2011-12-05 10:38:14
楼主
                                   用S7-200编程的3个实例与解析之八
        本文汇总的3个用S7-200编程实例,都是在网上回答网友的求助帖编写的,并对程序加以解析,望对PLC编程的初学者有所帮助,如有错误之处,请予指正,本人深表感谢!
         一帖:“有5个执行动作我转换为操作数,姑且定为D10、D20、D30、D40、D50,它们每一个都可能写入从0 到5的数值。最后执行是从1到5 依次执行输出,是0的不执行跳过,不知如何编,请高手指点,谢谢了!”又“……如这一次是按1/2/3/4/5依次动作,下一次也许设置为按5/3/2/动作,再下一次就1/5/2/3/。。。。。”、“两次执行的间隔时间可设定,暂定3秒看设备运转情况而定”
              我的编程构思:
        一、 PLC的硬件设置及有关事项说明:选用S7-200PLC编程。
    1、其输入口:
I1.0 为启动按钮,
I1.1 为停止动作按钮。
      *** 以下的I0.0 ~ I0.5 六个输入点是为手动设置参数的按钮地址。是为在没有上位机或触摸屏与PLC通讯的条件下,可用这6个按钮,对5路执行机构的动作顺序号及动作间隔时间进行手动设置。其各输入点定义如下:
I0.0 为设置第1路执行机构执行动作的顺序号按钮
I0.1 为设置第2 ~ 5路执行机构执行动作的顺序号按钮,设置值:0~5
I0.2 为设置第2 ~ 5路执行机构执行动作的顺序号左移8位按钮
I0.3 为复位按钮,即将第1~ 第5 路机构的顺序号清0,其作用是为更改5个机构动作的顺序号值做清0准备。
I0.4 为相邻二个机构动作时间间隔值的个位数设置按钮,设置值:0~F(16进制数)
I0.5 将时间设定值左移4位按钮

       2、其输出口:
Q0.0 为第1路执行机构输出
Q0.1 为第2路执行机构输出
Q0.2 为第3路执行机构输出
Q0.3 为第4路执行机构输出
Q0.4 为第5路执行机构输出
      3、VB10、VB11、VB12、VB13、VB14分别为第1~第5执行机构动作顺序号设置区,为节省设置按钮,将VB11、VB12、VB13、VB14合并为一个双字存储器VD11。
      4、VW30 为相邻二个机构动作时间间隔设置区。可用按钮对其设置时间。VW30也是第一个执行机构的动作时间,2倍的VW30(即VW32)是第二个执行机构的动作时间,3倍的VW30(即VW34)是第三个执行机构的动作时间,4倍的VW30(即VW36)是第四个执行机构的动作时间,5倍的VW30(即VW38)是第五个执行机构的动作时间。
       5、从按下启动命令开始,先将计时器(MW2)清0,再用秒脉冲对MW2进行加1计数,当MW2=VW30时, 第一个执行机构动作,当MW2=VW32时, 第二个执行机构动作……直到MW2=VW38时, 第五个执行机构动作为止。那路执行机构是第一个、第二个动作…取决它设定的顺序号。
      6、设MB0为第几个机构动作标记区,按启动按钮时,将其清0,每当计时VW30,MB0加1,故MB0等于几就应为第几个执行机构执行动作,(如:第一次机构动作时,MB0=1……第五次机构动作时,MB0=5)。在执行动作前,先用MB0与VB10~VB14比较,那路执行机构的顺序号=MB0,那路执行机构就动作,这样就可确保动作执行的的正确性。

       详细动作控制请见以下梯形图:

二、S7-200编程的梯形图:



该程序是经过上机运行及调试,证明程序是正确的、好用的。
VB10、VD11及VW30可由上位机或触摸屏设置,如没有上位机或触摸屏,只有PLC,可用几个按钮与PLC输入口I0.0~I0.5相连,用按钮可对其参数进行设置,以下就是用按钮直接在PLC上设定参数的程序。这种用PLC输入口设置内部参数的方法对初学者也是有帮助的。

          二帖、这也是网友的求助帖,经整理为: 
         输入点4个:I0.0、I0.1、I0.2、I0.3; 输出点2个:Q0.0、Q0.1。
要求:
     1、4个输入点分别有脉冲信号输入,其四路连续累计9个输入脉冲信号的时间间隔 < 1 分钟时。其输出Q0.0=1,否则Q0.0=0。
     2、4个输入点分别有脉冲信号输入,其四路连续累计15个输入脉冲信号的时间间隔 < 1 分钟时。其输出Q0.1=1,否则Q0.1=0。

         编程构思:本程序采用二个指针指令,一个首址为VB100,指针为VD80;另一个首址 为VB200。指针为VD84。初始化将VB0、VB1、VW2清0.。用I0.0~I0.3四个输入信号的后沿并联触发M0.0,这样那路最先出现又最先结束,将M0.0置1,M0.0=1开始秒脉冲对
VW2加1计时,计时中那路出现输入信号,其前沿将VW2计时值送入VD80与VD84指针所指的地址中。且判断输入脉冲数(VB0)<=9,如<=9,VB0加1,指针VD80加2。同时判断 VB1,如VB1<=15,则VB1加1,指针VD84加2。且使M0.1=1。 在M0.1=1扫描周期内,先判断VB0=9?如=9,再判断VB3<=60,如<=60 则使Q0.0=1, 否则使Q0.0=0。同时又判断VB1=15?如=15,再判断VB3<=60,如<=60 则使Q0.1=1, 否则使Q0.0=0。
       在M0.1=1扫描周期内,如果VB0=10时,用VW2-VW100=MW4,判断MW4<60 则 使Q0.0=1,否则使Q0.0=0,再将VW102为首址的连续9个字的内容前移到以VW100为首 址的连续9个字里。同样如果VB1=16时,用VW2-VW200=MW6,判断MW6<60 则使 Q0.1=1,否则使Q0.1=0,再将VW202为首址的连续9个字的内容前移到以VW200为首址的 连续9个字里。详见梯形图:

          三帖:网友求助:“S7-300编程实现一个输入四个输出顺序输出:就要希望实现第一次按i4.1,输出m1,第二次输出m2,第三次输出m3,第四次输出m4.如此循环。一次输出一个”
       回复:我用s7-200编了你所要的梯形图,上机运行正确无误,并将此程序翻译为S7-300,供你参考.。
s7-200梯形图:


用S7-300的梯形图:

         对程序的解析:这二个程序的编程特点就是巧妙地运用循环左移、与、或等编程指令编写的。使程序短小精悍。以S7-200程序为例:先将MB0置数为0001——0001,当第一次按钮时由于M1.0=0,故只能执行将M1.0置1,M1.0=1进行与、或运算,将MB0的低4位数0001送入QB0的低4位,使Q0.0=1,而QB0的高4位不受影响(即仍保持原状态)。当第二次按钮,使MB0循环左移一位,即0010——0010,再进行与、或运算,将MB0的低4位数0010送入QB0的低4位,使Q0.1=1,而QB0的高4位仍不受影响……,故可达到每按一次按钮,输出口Q0.0~Q0.3 只有一位输出,而且是依次循环输出的控制目的。
       S7-300没有字节循环指令及字节与或指令,采用双字循环移位、字与、字或等指令完成的,故编程显得不易被看懂,但二者思路是一样的,大家按我上述说明去分析一定会看懂的。



云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2011-12-06 13:23:54
1楼

好帖,顶起。。   

Witkey

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 169回
  • 年度积分:0
  • 历史总积分:637
  • 注册:2008年11月30日
发表于:2011-12-07 17:20:18
2楼

好贴,受益匪浅。。期望wyb2866255王工可以像这样弄个“(温度或流量)模拟量采集及PID闭环控制”的主题帖,让大家学习讨教一下,呵呵。。保证火了就。。。嘻嘻

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2011-12-08 00:08:54
3楼
谢谢2楼的评价与建议,我会努力做的。

ljpwxy2011

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 544回
  • 年度积分:0
  • 历史总积分:5627
  • 注册:2011年1月12日
发表于:2012-02-24 08:44:01
4楼
很有用,值得收藏。               

电工九段

  • 精华:2帖
  • 求助:8帖
  • 帖子:57帖 | 1381回
  • 年度积分:0
  • 历史总积分:5582
  • 注册:2006年4月29日
发表于:2012-02-25 20:43:08
5楼
先顶后看                                                    

sssoft

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2012年2月23日
发表于:2012-02-25 21:04:42
6楼
IntelliSuite 8.2 MEMS专业设计与模拟仿真软件
skyline TerraExplorer developer 5.1
ansys for linux (IA64)
Vero Visi Seriesv13.1
模具设计
Fluent AirPak +tutorial+Documentation(
空气计算和温度场分析,正式商业版
3D_analyst
Microsoft Excel Add-in “CQM- EfP Version 4.0
CYME CYMDIST 4.1 R21 (
分析平衡或不平衡一次配电系统)
factorylink v7.5
Smarteam.PDM.v4.0.SP5.5
CAA RADE V5R17
Louts 6.5.4
Ship EDF(Ship Electromagnetic De-sign Frame
的缩写)舰船电磁设计平台软件
ITEDO IsoDraw 7.0
插图软件
HDSHM
正式完整版
EFCSD
管路放样软件
camnetcis_GearTrax_AI_v2005.100.475_for_Inventor_10-DIGERATI
ansys workbench v10.0
公路路线辅助设计系统 roadCAD2002
3DBAS2005
SD
储量计算软件
Synopsys PrimeTime
静态时序分析工具软件
Totallab TL120
生物用的凝胶分析软件
Labview PDA 8.2
LabVIEW Execution Trace Toolkit 8.2
Microtec c/c++ compiler
GEOCAD
工程地质剖面图件和柱状图软件
CAM Utilities v3.1
Hyperform v6.0
spectrartav1.32.13
SAS JMP
六西格玛企业统计分析软件
Calibre Physical Verification (for sun OS)
SEASAM
挪威的海工软件
探地雷达处理软件Reflexw version35
加密狗专业复制 ROCKEY6、深思4(可提供单机远程硬件复制)、彩虹天地(PDLUDAUMHUMCUMINHMF-硬件复制、阿拉丁、域天、蓝宇风全系列、 SUPPER圣天偌原狗改模块、试用狗注册等,注册机制作服务,提供程序OEM制作服务

soft215@163.com (感谢各位客户e_mail咨询,我们将尽全力提供更好的服务)
517655728,(QQ全天候咨询)

热门招聘
相关主题

官方公众号

智造工程师