您好,欢迎访问三七文档
例1控制一台电机的启动与停止1首先定义一个全局变量数据块存贮你所需的变量DATA_BLOCKGDI//定义一个数据结构STRUCTMotor1_input:BOOL;//定义一个名叫做Motor1_input用于输入的变量变量类BOOLMotor1_On:BOOL;//定义一个叫做Motor1_On用于输出变量类型为BOOLMotor1_Stop:BOOL;//定义变量Motor1_Stop类型BOOL用于停止电机END_STRUCTBEGINEND_DATA_BLOCK2编写输入函数体FUNCTIONInput:VOID//定义一个函数称称为Input,函数类型为VOIDGDI.Motor1_input=I0.0;//把I0.0的值赋给变量Motor1_inputGDI.Motor1_Stop=I0.1;END_FUNCTION//函数体结束GDI.Motor1_input是条用前面定义的数据块里面的变量。3编写输出函数FUNCTIONOutput:VOID//定义一个输出函数Q0.0:=GDI.Motor1_On;//将电机启动状态输出到Q0.0END_FUNCTION//函数体结束GDI.Motor1_On//调用之前定义在数据块里的变量3编写控制函数FUNCTIONMotor_conter:VOID//定义控制函数IFGDI.Motor1_input=TRUETHENGDI.Motor1_On:=TRUE;//当接收到启动命令时电机启动END_IF;IFGDI.Motor1_Stop=TRUETHENGDI.Motor1_On:=FALSE;//当接收到停止命令时电机停止END_IF;END_FUNCTION例2循环启动电机1单机2电机1启动运行20S后电机2启动如此循环启动要求用SCL编写FB功能块并在OB1中调用它,OB1也用SCL创建。1首先在SETP7中创建一个名叫Motor_control的项目并组态该项目。2在符号中建立你所需要的符号并分派地址。3在源文件中创建你所需要的程序。1创建名为Motor_control的项目并组态2在符号中建立你所需要的符号并分派地址。3创建名为Motor_contorl的控制功能块FUNCTION_BLOCKMotor_contorl//定义块的名称VAR_INPUTMotor1_start:BOOL;Motor2_start:BOOL;Motor_stop:BOOL;END_VARVAR_OUTPUTMotor1_On:BOOL;Motor2_On:BOOL;END_VARBEGINIFMotor1_start=trueTHENMotor1_On:=true;//启动电机1END_IF;TON.DB1(IN:=Motor1_On//IN:BOOL//启动定时间器定时20S,PT:=T#20S//IN:TIME);IFDB1.Q=TRUETHENMotor2_On:=true;Motor1_On:=false;//定时时间到启动电机2并关闭电机1END_IF;TON.DB2(IN:=Motor2_On//IN:BOOL,PT:=T#20S//IN:TIME);IFDB2.Q=TRUETHENMotor2_On:=FALSE;Motor1_On:=TRUE;END_IF;IFMotor_stop=TRUETHENMotor2_On:=FALSE;Motor1_On:=FALSE;END_IF;END_FUNCTION_BLOCK4创建名为CYCLE的组织块并调用Motor_contorlORGANIZATION_BLOCKCYCLEVAR_TEMPMotor:ARRAY[0..19]OFBYTE;END_VAR//Motor_contorl的调用Motor_contorl.Motor_contorl_DATA(Motor1_start:=Motor1_start//IN:BOOL,Motor2_start:=Motor2_start//IN:BOOL,Motor_stop:=Motor_stop//IN:BOOL);Motor1_On:=Motor_contorl_DATA.Motor1_On;//OUT:BOOLMotor2_On:=Motor_contorl_DATA.Motor2_On;//OUT:BOOLEND_ORGANIZATION_BLOCKTON.DB1(IN:=Motor1_On//IN:BOOL//启动定时间器定时20S,PT:=T#20S//IN:TIME);这是调用接通延时定时器,在systemfunctionblocks里的SFB4并设定激活的条件,本例程为电机1启动后,激活定时器TON.DB1时间到后启动电机2,关闭电机1。电机2启动后激活定时器TON.DB1定时时间到再次启动电气1并关闭电机2.如此循环。
本文标题:精通SCL编程
链接地址:https://www.777doc.com/doc-5821427 .html