精通SCL编程.doc

上传人(卖家):淡淡的紫竹语嫣 文档编号:1107836 上传时间:2021-02-22 格式:DOC 页数:4 大小:67.50KB
下载 相关 举报
精通SCL编程.doc_第1页
第1页 / 共4页
精通SCL编程.doc_第2页
第2页 / 共4页
精通SCL编程.doc_第3页
第3页 / 共4页
精通SCL编程.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、例 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 BEGIN END_DATA_BLOCK 2 编写输入函数体 FUNCTION Input :VOID /定义一

2、个函数称称为 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.0 END_FUNCTION /函数体结束 GDI.Motor1_On /调用之前定义在数据块里的变量 3 编写控制函数 FUNCTION M

3、otor_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

4、 中创建一个名叫 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_VAR VAR_OUTPUT Motor1_On:BOOL; Motor2_

5、On:BOOL; END_VAR BEGIN IF Motor1_start=true THEN Motor1_On:=true; /启动电机 1 END_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 );

6、 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_BLOCK 4 创建 名为 CYCLE 的组织块并调用 Motor_contorl ORGANIZATION_BLOCK CYCLE VAR_TEMP Motor : ARRAY0.19 OF BYTE; END_VAR /Motor_contorl 的调用 Motor_contorl.Motor_contor

7、l_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_BLOCK TON.DB1(IN :=Motor1_On / IN: BOOL /启动定时间器 定时 20S ,PT :=T#20S / IN: TIME ); 这是调用接通延时定时器,在 system function blocks 里的 SFB4 并设定激活的条件,本例程为电机 1 启动后,激活定时器 TON.DB1 时间到后启动电机 2 ,关闭电机 1 。电机 2 启动后激活定时器 TON.DB1 定时时间到再次启动电气 1 并关闭电机 2.如此循环。 微信公众号:自动化电气系统 公众号 ID:zidonghuadianqi QQ 群:60886850

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 电子与机械类
版权提示 | 免责声明

1,本文(精通SCL编程.doc)为本站会员(淡淡的紫竹语嫣)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|