三菱PLC编程案例
本PLC可使用三菱的FXGP_WIN编程软件,可兼容其大部分功能和指令,但有一部分增强型功能在三菱FX2N主机上是不具备的,需要外接扩展模块后才能使用。以下就本机的特殊功能做一个说明(本机的增强功能直接做在板上不要扩展模块就可使用):
1、读写FLASH:FLASH的地址为0~1000
例:读FLASH:当D2=2时,将起始地址D19对应的FLASH 位置为234连续8个数据读入
D20~D27然后,再对D20~D27进行处理。每次上电将FLASH中的参数读出来。
例:写FLASH:当D2=1时,将D20~D27保存在起始地址D19对应的FLASH 位置为234连续
8个FLASH数据中。当按下X001时保存参数用。注意:写FLASH只有10万次的寿命。
新增功能:掉电瞬间保存数据:M6=1设定H0为掉电检测中断,M4=1,H0接GND,5V与GND
间接4000UF电容,在掉电瞬间,进入中断,将D20 D21 D22 D23四个数据写入D19位起始的
FLASH中。
特别注意:M4=1,M6=1 时,H0 不能接编码器作高速计数H0 使用。2、PID应用:
这是一个大滞后的PID处理:PWM控制电加热,测量控制水蒸气的温度,M400表示实际值与目标值的差在正负3以内,M400没来,KP、 KI、 KD 分别为2000、2、 500,一旦M400来了,就进入保温程序,仅进行小调节,KP、 KI、 KD 分别为2000、0、 500,同时将增量值(D88)调整。D92输出PWM波。上图的D73是显示值,D70是设定值,D95是瞬时值。当然,若不是大滞后,一般情况下,调节KP、 KI、 KD 分别为2000、500、 0即可。
3、DA输出由D7、D8写入即可;AD输入对应D3 D4 D5 D6;输入0~5V时,直接接入AD端口即可,输入的是微伏信号,可以差分放大:在AD和AD-上接入一电阻R,其放大倍数为100K/R,比如:接入电阻R=100欧,放大倍数=1000倍。
4、两线串行数码管驱动接口(5V、SDK、SI、0V)数码管显示例程:
D9(1、2 二个数码管); D10(3、4 二个数码管) ;D11(5、6 二个数码管); D12(7、8 二个数码管) ;
D14(9、10 二个数码管);D15(11、12 二个数码管);D16(13、14 二个数码管); D17(15、16 二个数码管) ;M9 、M10、 M11、 M12 、 M14、 M15、 M16 、M17控制对应的数码管亮或灭。
例如:在第三个数码管(D11)上显示16位数据的最后二位。将16位数据除以100的余数(D203)
存入D11显示(其余各位也同样处理),不需要显示的数码管可通过M9~M12来关闭。
注:数码管是两位十进制的(00~99),所以寄存器等16位的参数要分别按二位一组拆开放在显示缓冲寄存器里(D9、D10、D11、D12=第一组, D14、D15、D16、D17=第二组),具体方法是:把原始数据(如D31)除以100,把余数MOV到显示缓冲里去(如D9),其商继续除以100后放到下一个显示缓冲里去(如D9),直到所有需要显示的数据全部处理完毕。对于不需要显示的各位数据可以通过置位相应的M9~M12、M14~M17来关闭显示。
5、编码器:
M4=1 启动高速计数0,A+B相接法:A接H0,B接X0;M4=0,H0为普通开关量输入X060。
M5=1启动高速计数1,A+B相接法:A接H1,B接X1;M5=0,H1为普通开关量输入X061。
D28 29 高速计数H0数据寄存器;D31 D32 高速计数H1数据寄存器。
数据范围D28=0~32767,D29=-32767~+32767,D31=0~32767,D32=-32767~+32767。
注:本机只能进行16位的处理,所以编码器的二个寄存器要分别处理,不能用32位。例如从0再减1成负值时低位只能循环到显示32767,而高位显示-1,这时加1的话低位显示0、而高位也恢复到0。所以在编程时要二个寄存器配合用、显示时可用高为锁定0(不显示负值)。
6、PWM输出(PL0、PL1):
PWM频率=62·5K,周期=1/62·5秒,脉冲宽度调节D7(PL0)、D8(PL1)0~255=0%~100%。
7、与三菱编程软件的兼容性:
①、可用三菱FXGP—WIN_C编程软件,支持梯形图编程、下载、监控、对本PLC产品设加密口令。
不支持32位(P)指令、及在线修改程序和变更数据,本PLC程序长度须设置到2K或4K以下。
②、可用三菱SW3D5C—GPP_C编程软件,仅支持编程、下载,不支持监控等其他功能。其他同上。
③、本PLC对本手册介绍的指令和功能都能正常使用,其他三菱指令需要试验后决定能否正常使用。
④、对于高速脉冲输入(编码器)、模拟量输入(AD)、模拟量输出(DA)、PWM等须用本机指令。
⑤、本机无机内断电保持存储器,可用M2和D2来读出/写入FLAISH作为断电保持的数据存储器。
西门子工程师:经典讲解S7-200 PLC的PWM输出向导,请查收
S7-200 SMART CPU 提供脉冲宽度调制功能(PWM),使用向导或特殊寄存器(SM)控制CPU集成的高速输出点,最多可实现三路PWM输出,三个输出点分别为Q0.0、Q0.1和Q0.3。PWM是指占空比可变、周期固定的脉冲。
PWM输出以指定频率(循环时间)启动之后将连续运行。脉宽则根据所需要的控制要求而变化。占空比可表示为周期的百分比或对应于脉冲宽度的时间值。
一、如何使用向导组态设置PWM
除了直接使用设置特殊寄存器发送PWM,还可以使用软件中提供的向导。下面使用个具体的例子来说明如何使用向导设置PWM。假设发送的脉冲周期为100ms,脉冲宽度为50ms,使用Q0.0发送PWM。具体组态步骤如下所述。
1、首先,在“工具”菜单功能区选择PWM,弹出向导组态界面,然后激活PWM0。S7-200 SMART总共支持3个PWM输出。
2、选择脉冲的时基为毫秒或者微秒。
3、时基组态完毕,单击“生成”按钮(Generate),会生成一个名为PWM0_RUN 子程序,在项目树的调用子程序文件夹中可以找到此子程序。
4、调用生成的程序块
调用PWM0_RUN,设置Cycle(周期)=100,Pulse(脉冲宽度,注:Pulse中文直译为脉冲的意思,但此处需翻译为脉宽,Pulse Width)=50,触发M0.0后,Q0.0就会输出周期为100ms、占空比为50%的连续方波。
二、使用SM特殊寄存器设置PWM
PWM功能除了使用PWM向导配置以外,还可以使用特殊寄存器进行配置,特殊寄存器每个位的定义都不同,用户可以对照特殊寄存器的定义表,分别设置每个位,最后组成控制字节,由程序写入。
下面用一个具体的例子来说明,如何通过设置特殊寄存器来发送PWM。假如需要发送的脉冲周期为100ms,脉宽为30ms,发送脉冲的输出点为Q0.0。
①使用M0.0上升沿触发,将控制字16#8B送入SMB67,16#8B对应的功能为:使能Q0.0的PWM功能,使能更新脉冲周期、脉冲宽度,使用1ms时基。
②脉冲周期为100ms
③脉冲宽度为30ms
④执行PLS指令,触发PWM输出。
用户可以在当前脉冲发送过程中,通过向导生成的“PWMx_RUN”指令实时修改Cycle和Pulse的参数值,以实现修改PWM脉冲周期和占空比的功能。
此次给大家讲解的西门子S7-200 PLC的PWM输出向导就到这啦,后续还有相关的知识跟大伙讨论的哦!
以上,欢迎动动手分享及收藏!
相关问答
plcpwm运动控制编程实例?
以下是一个使用PLC与PWM运动控制编程的示例:假设我们要控制一个直流电机以特定的速度旋转。我们将使用PLC来生成PWM信号,以控制电机的速度。1.首先,选择一...
plc输出pwm的作用?
在工业上,PID的温控信号可以使用PWM脉冲。比如,要使用PID控制反应罐的温度,就可以使用PLC输出PWM脉冲信号,将输出信号连接到固态继电器,固态继电器连接到加...
怎么延迟plc的pwm信号?
延迟PLC的pwm信号,我们可以采取以下方式:首先我们可以改变定时器数值的方式来实现,延长定时时间,加大输出波形的宽度,就可以实现。另外一个就是提高pwm信...
PLC的PWM和脉冲有什么区别?-ZOL问答
PWM学名叫做脉冲宽度调制,是一个周期性的脉冲信号,它的频率和幅值都是固定的...plc可以发出pwm信号。但是pwm不一定要有plc来完成。有用(0)回复ZAEWpwm...
三菱PLC指令PWM在什么样的时候使用?
三菱PLC中的PWM指令主要用于控制脉冲输出,特别是在需要精确控制输出电压或电流的情况下非常有用。以下是一些常见的使用场景:1.**控制外部设备**:PWM指令可...
三菱plc程序怎么设置速度?
使用三菱的PWM指令,PWM指令用于输出PWM波形,其中可以设定你需要的占空比,和频率,并指定哪个Y点输出(Y点记得用高速点)。PWM的占空比影响速度,频率对运动...
IGBT和pwm关系?plc输出有几种类型,漏型和源型啥意思?
IGBT是逆变器的核心元件,PWM是调节单元用于控制IGBT的通断,从而控制输出频率!漏型和源型啥意思?混合型漏型和源型接线都可以漏形电流送电流从公共端流入...
plc怎么分配脉冲和方向?
PLC可以通过控制输出信号的频率和方向来分配脉冲和方向。在PLC程序中,可以编写相应的指令来控制脉冲和方向的输出,例如使用计数器指令或者PWM指令控制脉冲的频...
plc脉冲输出波形是怎样的?
PLC里的脉冲信号是隔一端时间向外输出的信号。脉冲信号是一种离散信号,形状多种多样,与普通模拟信号(如正弦波)相比,波形之间在时间轴不连续(波形与波形之...
三菱plc的[PWMD0K100Y00]是什么意思?
三菱plc程序中,我们经常看到类似于k4m100,k7m500,k1x0,k2y0等等写法,很多人不懂是什么意思,这里给大家做个解说。knm是指以m开始的连续4n个位。比如k4m100...