加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Unity pro xl 5.0 子程序调用

(2016-08-13 16:45:04)
标签:

it

分类: plc课件教程

Unity pro xl 5.0 子程序调用

一、编写子程序

1、在项目浏览器中,右键点击SR段,选择“新建SR段”,如下图:

http://s15/mw690/0068KRmqzy741ejuNlkae&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

2、在弹出的对话框中(下图)填写新建段的名称“zcx”,在“语言(L)”中选择“ST”。然后确定。

http://s4/mw690/0068KRmqzy741elcFYDc3&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

3、在程序编辑窗口中输入以下程序:

http://s1/mw690/0068KRmqzy741elqTvi70&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

IF RE(B1) AND GR AND NOT ST1THEN SET(Y1);

END_IF;

IF B2=1 OR S0=1 THEN RESET(Y1);

END_IF;

Y0 :=Y1 OR ST1;

FBI_1(CU:=B2,CD:=B3,CV=>CHESHU);

GR:= LT_INT (IN1:=CHESHU,IN2:=100);

RED:=EQ_INT (IN1:=CHESHU,IN2:=100);

FBI_2(IN:=B3,PT:=T#10S, ET =>VAR_OUT1);

IF (FBI_2.Q AND NOT S0=1 AND NOT ST2=1) OR ST2=1 THEN Y2:=1;

    ELSE

Y2:=0;

END_IF;

RETURN;

以上程序是小区停车场控制程序,是用ST编程语言编写。

ST编程语言又叫结构化文本(Struct Text) ,它类似于计算机语言编程,利用它可以很方便地建立、编辑和实现复杂的算法,特别在数据处理、计算存储、决策判断、优化算法等涉及描述多种数据类型的变量应用中非常有效。

    ST 程序是由一组语句列表组成,这些语句将由控制器按顺序执行。通过这些语句,您可以在一个代码段中有条件或无条件地调用功能块、功能,进行赋值,执行重复语句和在同一个代码段中执行条件跳转或无条件跳转指令。

    ST 程序语句由操作符、操作数、表达式( 可选)、注释( 可选) 构成。每条语句已分号结尾,多条语句( 以分号分隔) 可以放置在同一行,每行限制为300 个字符,1 条语句可以断行( 多行放置),语句输入后,将立即执行一次语法和语义检查,检查结果将以彩色文本显示。

在使用ST 语言编程时,对于已声明的变量,您可以在目标位置直接输入变量名称,也可以通过数据选择输入变量。通过数据选择输入变量的方法是:菜单命令“编辑” > “数据选择”或者右键菜单“数据选择”打开数据选择对话框:

下面是程序分析:

语句IF (RE(B1) AND GR AND NOT ST1) THEN SET(Y1);END_IF;实现了下图中LD程序的功能,即B1GRST1构成了“与”关系,当它们同时导通时(=1),Y1才能导通(=1)。用IF语句判断。当B1=1时,Y1(S)导通入口栏杆抬起。

 

 http://s11/mw690/0068KRmqzy741epYWme7a&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

语句IF B2=1 OR S0=1 THEN RESET(Y1);END_IF;实现了下图中LD程序的功能,即B2S0构成“或”逻辑关系,即B2S0有一个导通(=1),Y1(R)导通(=1)。入口栏杆关闭。

http://s13/mw690/0068KRmqzy741eqbgtK3c&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />
语句Y0 :=Y1 OR ST1;Y0赋值。也可以写成IF Y1 OR ST1 THEN Y0:=1;;END_IF;
http://s9/mw690/0068KRmqzy741eqn8bC58&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

语句FBI_1(CU:=B2,CD:=B3,CV=>CHESHU);调用FBI_1功能块并赋值。实现下图LD语句功能。

http://s2/mw690/0068KRmqzy741eqVVct41&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

B201时,CHESHU1B301时,CHESHU1CHESHU是停车场停车数量。CHESHU小于100,绿灯亮,大于等于100红灯亮,GR=0时,入口栏杆不会再抬起。

语句

GR:= LT_INT (IN1:=CHESHU,IN2:=100);

RED:=EQ_INT (IN1:=CHESHU,IN2:=100);实现了下图功能,也是调用比较功能块并赋值。

http://s2/mw690/0068KRmqzy741erkAi581&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

语句FBI_2(IN:=B3,PT:=T#10S, ET =>VAR_OUT1);

IF (FBI_2.Q AND NOT S0=1 AND NOT ST2=1) OR ST2=1 THEN Y2:=1;

ELSE

Y2:=0;

END_IF;

实现了下图LD程序功能。第一句调用功能块FBI_2,并赋值。第二句FBI_2的输出端Q(FBI_2.Q)S0ST2常闭接点是“与”关系。又和ST2常开接点是“或”关系。当B3=1时,Q(FBI_2.Q)=1Y2导通,出口栏杆抬起,,当B3=0时,定时器启动,延时10秒后,Q(FBI_2.Q)=0出口栏杆关闭。

http://s8/mw690/0068KRmqzy741erFQXR37&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

RETURN;是子程序返回。

一、调用子程序

1、  在项目浏览器中右键点击“段”,选“新建段”,在弹出的对话框中输入段名“zcxdy”,

在语言中选择“LD“。

http://s6/mw690/0068KRmqzy741eBvExf85&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

1、  在程序编辑窗口中输入程序如下图:

http://s16/mw690/0068KRmqzy741eBKk3R9f&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

在调用线圈属性中输入子程序名“ZCX“。

http://s14/mw690/0068KRmqzy741eBXUdL2d&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

一、调试程序

1、  程序动态显示

   联机时,如果当前软件打开的项目与PLC 中项目完全相同,程序将可以动态显示。缺省情况下,代码段将动态显示,要停止一个代码段的动态显示,请单击工具栏中的http://s14/mw690/0068KRmqzy741eGmBzLad&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />按钮;要重新启动动态显示,请再次单击此按钮。程序在线动态显示时,变量的状态将以不同颜色来表示:对于布尔变量,如果变量为TRUE (1),显示为绿色,如果变量为FALSE (0),显示为红色;数值型变量显示为黄色。

 2、创建动态数据表

动态数据表用于监控变量的实时变化值。在项目浏览器中,右键单击“动态数据表”,在右键菜单中,点击“新建动态数据表”,创建用于监控变量的动态数据表。

动态数据表中添加要监控的数据项,双击“名称”列下的空行,手动输入寄存器地址或变量名,或者单击http://s1/mw690/0068KRmqzy741eIkHaod0&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

,从变量表里直接选择变量,如下图所示。

http://s13/mw690/0068KRmqzy741eJIXYo7c&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

http://s11/mw690/0068KRmqzy741eK9Vcmfa&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

3、修改显示格式,在动态数据表中,选择需要的数据项,在“值”列单击右键,在右键菜单中选择显示格式,

如下图所示。

http://s13/mw690/0068KRmqzy741eKuVg83c&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

4、在动态数据表中修改变量值,首先按下“修改”按钮,如下图所示,然后在您要修改的变量对应行双击“值”列,输入需要的值,回车确认即可。对于EBOOL 类型的定位变量,我们可以强制它。首先按下“强制”按钮,如下图所示,然后选择您要强制的数据项,再点击强制选项,http://s12/mw690/0068KRmqzy741eRspS36b&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />表示取消强制,当一个变量的强制被取消后,该值前面将不再显示字母F

http://s1/mw690/0068KRmqzy741eSMpbOa0&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

5、在程序编辑器中修改变量值,用鼠标选择您要修改的变量,单击右键,在右键菜单中根据需要选择“设置值”或“强制值”,即可修改变量的当前值。对于强制后的变量,如果强制为1,变量名会自动加上绿色矩形边框;如果强制为0,变量名会自动加上红色矩形边框

http://s2/mw690/0068KRmqzy741eTad9L31&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

6、联机修改程序

   PC 连接到PLC 时,您可以在线修改程序内容,而不必停止CPU 的运行。在线修改程序后下载的方法是:修改程序后,点击菜单命令“生成” → “生成更改”,如下图所示,即将更改的内容下载到了CPU 中, CPU 不会停止运行。

http://s5/mw690/0068KRmqzy741eTwdDea4&690pro xl 5.0 子程序调用" TITLE="Unity pro xl 5.0 子程序调用" />

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有