蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

西门子PLC中使用SCL语言编程的技巧

  • 资源ID:54690972       资源大小:354.98KB        全文页数:13页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

西门子PLC中使用SCL语言编程的技巧

v1.0 可编辑可修改 在西门子在西门子 PLCPLC 中使用中使用 SCLSCL 语言编程的技巧语言编程的技巧 前言两年半前我就在工控网上发表了有关 SCL 编程的知识10; END_IF; Count_ Actual 的初始值为 0,同时当系统新启动时,也需将其设为零。间隔更长时间的脉冲波编程都可以按照上面的方式编程。 6、尽量使用编程计数功能来替代定时器功能,这样使程序更可靠和易于阅读假设 _Condition 为输入,Output_Delay 为通过定 时处理后的输出,Timer_Setpoint 为时间设定点,Timer_Actual 为当前时间计数的实际值,“Impls_1Sec” 为系统编程产生的 1 秒 脉冲。 、在输入条件满足的情况下,延时输出的定时器 IF NOT _Condition THEN Timer_Actual 0; Output_Delay 0; ELSE IF “Impls_1Sec” AND NOT Output_Delay THEN Timer_ Actual Timer_ Actual 1; END_IF; Output_Delay Timer_Actual Timer_Setpoint; END_IF; 5 v1.0 可编辑可修改 、有记忆的延时输出定时器,即在延时过程中,若输入条件终止,不影响延时,这种 定时器必须使用其它的信号复位。 IF _Condition THEN Output_Aux1; END_IF; IF NOT Output_Aux THEN Timer_Actual 0; Output_Delay0; ELSE IF “Impls_1Sec” AND NOT Output_Delay THEN Timer_ Actual Timer_ Actual 1; END_IF; Output_Delay Timer_Actual Timer_Setpoint; END_IF; 若想终止 Output_Delay 的输出,必须在后面追加一条条件语句,用于复位 Output_Aux 6 v1.0 可编辑可修改 、立即输出,延时断开的定时器 IF _Condition THEN Timer_Actual 0; Output_Aux 0; Output_Delay1; // 立即输出 ELSE IF “Impls_1Sec” AND NOT Output_Aux THEN Timer_ Actual Timer_ Actual 1; END_IF; Output_Aux Timer_Actual Timer_Setpoint; END_IF; IF Output_Aux THEN Output_Delay0; //延时断开 END_IF; 7 v1.0 可编辑可修改 、在检测到一个上升沿脉冲后,立即输出,并开始计时,在 时间到达后断开。 IF _Condition THEN Output_Aux1; END_IF; IF NOT Output_Aux THEN Timer_Actual 0; Timer_Arrived 0; ELSE IF NOT Timer_ Arrived AND “Impls_1Sec” THEN Timer_Actual Timer_Actual 1; END_IF; Timer_ Arrived Timer_Actual Timer_Setpoint; END_IF; IF Timer_ Arrived THEN Output_Aux0; END_IF; Output_Delay Output_Aux; 8 v1.0 可编辑可修改 通过以上的编程方式可以实现任何定时器功能,而代码却可以为不同的 PLC 系统所使用。 7、使用编程计数功能来替代计数器在 SCL 语言中使用计数功能是最为简单的,其关键是必须首先对输入进行脉冲检测假设 _Imp 为输入脉冲,CountImp 为输入脉冲检测,Counter 为计数值,Factor 为计数因子(更详细点就是每来一次脉冲,计数值增加多少)。 *----- Create Impulse Impulse uation -----------------------------------------------------* CountImp _Imp AND NOT CountImp_Old; CountImp_Old _Imp; *----- Counter ---------------------------------------------------------------------------------* IF CountImp THEN Counter CounterFactor; END_IF; 一个完整的计数程序应该还有计数器复位功能以及计数值上限检测条件(以防止计数值溢出)。 9 v1.0 可编辑可修改 8、 新故障/新警告的检测 一个完整的 FB 块应该能够检测故障/警告,以及新故障/新警告,假设 1, 2 n 对应故障 的输入(有信号表示 OK),Fault1, Fault2 Faultn 对应故障位,NFault1, NFault2NFaultn 对应新故障位,Flt 和 NFlt 分别对 应综合的故障和新故障, Ackn 对应故障应答输入, 为常开点, Mute 对应新故障消除输入 (或者称为蜂鸣器沉寂) ,为常开点 Fault1 NOT 1 OR Fault1 AND NOT Ackn; NFault1 Fault1 AND Mute OR NFault1; Fault2 NOT 2 OR Fault2 AND NOT Ackn; NFault2 Fault2 AND Mute OR NFault2; Flt Fault1 OR Fault2 OR Faultn NFlt Fault1 AND NOT NFault1 OR Fault2 AND NOT NFault2 OR Faultn AND NOT NFaultn NFlt 就是最终的新故障输出指示,新警告的检测与之类似。 9、字中取位 字中取位有两种方式,一种是通过西门子所特有的字取位方式实现,一种是通过计算机编程的标准方式实现,假设 _Word 为输入参数,Word 类型,W0,W1,W15 为位变量。 、通过西门子的M 变量实现 Temp_AuxMW[10]; MW[10]_Word; W0M[11,0]; W1M[11,1]; W2M[11,2]; W3M[11,3]; W4M[11,4]; W5M[11,5]; W6M[11,6]; W7

注意事项

本文(西门子PLC中使用SCL语言编程的技巧)为本站会员(sunhongz112)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开