精通SCL编程.doc_第1页
精通SCL编程.doc_第2页
精通SCL编程.doc_第3页
精通SCL编程.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

例1 控制一台电机的启动与停止1 首先定义一个全局变量数据块 存贮你所需的变量 DATA_BLOCK GDI /定义一个数据结构 STRUCT Motor1_input:BOOL;/定义一个名叫做Motor1_input用于输入的变量 变量类BOOL Motor1_On:BOOL;/定义一个叫做Motor1_On用于输出变量 类型为BOOL Motor1_ Stop:BOOL; /定义变量 Motor1_ Stop 类型BOOL 用于停止电机 END_STRUCT BEGINEND_DATA_BLOCK2编写输入函数体FUNCTION Input :VOID /定义一个函数称称为Input,函数类型为 VOID GDI.Motor1_input=I0.0; /把I0.0的值赋给变量Motor1_input GDI.Motor1_ Stop=I0.1;END_FUNCTION / /函数体结束 GDI.Motor1_input是条用前面定义的数据块里面的变量。3编写输出函数FUNCTION Output:VOID/定义一个输出函数 Q0.0:=GDI.Motor1_On;/将电机启动状态输出到Q0.0END_FUNCTION /函数体结束GDI.Motor1_On /调用之前定义在数据块里的变量3编写控制函数FUNCTION Motor_conter: VOID /定义控制函数 IF GDI.Motor1_input=TRUE THEN GDI.Motor1_On:=TRUE; / 当接收到启动命令时 电机启动END_IF; IF GDI.Motor1_Stop=TRUE THEN GDI.Motor1_On:=FALSE; / 当接收到停止命令时 电机停止END_IF; END_FUNCTION例2 循环启动 电机1 单机2 电机1启动运行20S 后 电机2启动 如此循环 启动 要求用SCL编写 FB功能块 并在OB1中调用它 ,OB 1也用SCL创建。1 首先在 SETP7 中创建一个名叫 Motor_control的项目 并组态该项目。2 在符号中建立你所需要的符号 并分派地址。3 在源文件中 创建你所需要的程序。1创建名为 Motor_control的项目并组态2在符号中建立你所需要的符号 并分派地址。3 创建名为 Motor_contorl的控制功能块FUNCTION_BLOCK Motor_contorl /定义块的名称VAR_INPUT Motor1_start:BOOL; Motor2_start:BOOL; Motor_stop:BOOL;END_VARVAR_OUTPUT Motor1_On:BOOL; Motor2_On:BOOL;END_VAR BEGINIF Motor1_start=true THEN Motor1_On:=true; /启动电机1END_IF;TON.DB1(IN :=Motor1_On / IN: BOOL /启动定时间器 定时20S ,PT :=T#20S / IN: TIME ); IF DB1.Q=TRUE THEN Motor2_On:=true; Motor1_On:=false; /定时时间到 启动电机2 并关闭电机1 END_IF; TON.DB2(IN :=Motor2_On / IN: BOOL ,PT :=T#20S / IN: TIME ); IF DB2.Q=TRUE THEN Motor2_On:=FALSE; Motor1_On:=TRUE; END_IF; IF Motor_stop=TRUE THEN Motor2_On:=FALSE; Motor1_On:=FALSE; END_IF;END_FUNCTION_BLOCK4 创建 名为CYCLE 的组织块并调用 Motor_contorlORGANIZATION_BLOCK CYCLEVAR_TEMP Motor : ARRAY0.19 OF BYTE; 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: BOOL Motor2_On:=Motor_contorl_DATA.Motor2_On; / OUT: BOOL END_ORGANIZATION_BLOCKTON.DB1(IN :=Motor1_On / IN: BOOL /启动定时间器 定时20S ,PT :=T#20S / IN: TIME ); 这是调用接通延时定时器,在 system functio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论