西门子PLC怎么编写脉冲程序

西门子PLC怎么编写脉冲程序,第1张

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程序脉冲闭合一次增加一次脉冲量、西门子高速脉冲输出最高输出多少脉冲每秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9331012.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存