最好具体说到某种类型的PLC这样更好说。
PWM可以输出连续的、占空比可调的脉冲串,你可以控制脉冲的周期和脉宽,从而用于驱动如SSR这样的功率开关设备用于温控等。
就SIEMENS 200及300PLC而言,你不需要去考虑PID模拟输出值如何转换为PWM脉冲。因为200提供的PID指令向导在你选用数字量输出的时候,因为200CPU内有两个可编程的PWM发生器,指令向导会自己生成0~1对应占空比0~100%的PWM程序段。对于300 系统PID模块中的FB42(非连续输出的PID控制),配合FB43(脉冲发生器)输出的就是PWM,如果是温控,就直接使用FB59(数字量输出的温控PID。)
sbit EOC=P2^6;
sbit OE=P2^7;
Delay(Val);/ /PWM输出占空比为0
{
PWM=0我也是刚学的;延时
void Delay(uchar x)
{
uchar i;/等待转换完成
OE=1;ADC0808时钟
}
能看明白吗;//}
if(Val==0xFF) /
define uchar unsigned char
define uint unsigned int
sbit CLK =P2^4;D转换
while(;允许T0中断
TR0=1; ///读取转换结果
OE=0;
continue;
while(x--)
for(i=0;/
TL0=0x00;T0定时器中断给ADC0808提供时钟信号
/
Val=P1; PWM输出占空比为100%
{
PWM=1;ST=1;PWM输出占空比
PWM=0;!EOC);启动A/
}
}
/
sbit ST=P2^5;---------------------------------
void Timer0_INT() interrupt 1
{
CLK=;//启动定时器
while(1)
{
ST=0;--------------------------------
!CLK;ST=0;//
sbit PWM=P3^0;
Delay(0xff);
}
void main()
{
uchar Val;i++);定时器T0工作于方式2自动重装8位计数器
TH0=0x14;/
/
}
PWM=1; / // /通过可变电阻调节脉冲宽度
include lt;40;/
continueh;
IE=0x82;
Delay(0xff);ilt;reg51;
if(Val==0) / // /用ADC0808控制PWM输出
/
Delay(0xff-Val);
TMOD=0x02;
跟PLS脉冲不同。PWM输出不是每个PLC都有的,西门子就有,它输出跟电压没关系,它相当于开关。比如在1S内接通01S还是09S这个就是占空比。就是说接通的时间占总周期的百份比。这个是开关量控制的。可以控制SSR等。你要输出电压可调,可以采用模拟量输出模块。
以上就是关于PLC控制PWM的方法最好详细点全部的内容,包括:PLC控制PWM的方法最好详细点、如何发出固定个数的PWM脉冲信号、控制器(PLC)的PWM输出的工作过程及原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)