
PLC本机带高速脉冲输出型号312C, 313C,314C 使用集成的IO口可以,
若不是带C的PLC需配定位模块FM353,FM354,FM357模块
高速脉冲串 (PTO)和脉宽调节 (PWM) 是200PLC里面的说法
300PLC使用功能块 FB41,FB42,FB43相关功能块使用。
一般PLC都会有脉冲输出完成标志,或者有中断,将脉冲量增加写入到中断程序中,或者用脉冲输出完成标志来出发脉冲量加1,即可实现。
两种方法:
1、用脉冲输出完成标志触发脉冲量+1
2、在脉冲完成中断里写脉冲量+1
一个正常的PTO脉冲程序我们需要设置3个参数,一个是确定脉冲条件,一个是给定脉冲周期,一个是脉冲数,
如果有你资料的话,你会发现好像参数很多,很复杂,其实很多都是给PMW脉冲和多段脉冲设置的,发送PTO脉冲还是很简单的,以Q00发脉冲为例:
第1个参数:SMB67: 用来设置脉冲时基单位:1ms或者1us,多段还是单段,如果只是单段的话,就2个选择:16#85:(时基为us)16#8D(时基为1ms)。
第2个参数:SMW68:用来设置脉冲周期时间,也就是多长时间一个脉冲,单位为第1个参数设置的时基,必须为>2的数。(比如10,如果时基选择16#85,那么就是10us一个脉冲,如果选择16#8D就是10ms一个脉冲)好理解吧?
第3个参数:SMD72:这个就是要发送的脉冲数量了。
有了周期,数量,时基。一个基本的脉冲程序就OK
;假设晶振为12MHz,脉冲输出端为P17。
;下列程序,经过仿真调试,可以满足题目要求
ORG 0000H
SJMP MAIN
ORG 000BH
SJMP T0_INT
MAIN:
MOV TMOD, #01H
MOV TH0, #(65536-20000) / 256
MOV TL0, #(65536-20000) MOD 256
SETB TR0
MOV IE, #82H
MOV R2, #150
SJMP $
T0_INT:
CLR P17
MOV TH0, #(65536-20000) / 256
MOV TL0, #(65536-20000) MOD 256
DJNZ R2, T0_END
SETB P17
MOV R2, #150
T0_END:
RETI
END
你要 输出 也宽 的 买脉冲 。。。。。
#include <reg51h>
delay_ms(unsigned int )
{
……
}
void main()
{
P1=~P1;
delay_ms(1);
}
以上就是关于西门子PLC怎么编写脉冲程序全部的内容,包括:西门子PLC怎么编写脉冲程序、如何让plc程序脉冲闭合一次增加一次脉冲量、西门子高速脉冲输出最高输出多少脉冲每秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)