当前位置:首页 >> 信息与通信 >>

Proface编程手册2


高级手册(下)

普洛菲斯国际贸易(上海)有限公司 Pro-face China International Trading (shanghai) Co., Ltd

GP-PRO/PBⅢ for windows 高级应用手册(下)

上海市浦东大道 138 号永华大厦 7 楼 F 座 TEL:021-68889825

FAX:021-68889826 http://www.proface.com.cn

1

高级手册(下)

目 录
1 D 脚本编程语言(D-SCRIPT) ................................................................................................... 3

1.1 选择 special(特殊)下拉菜单 ................................................................................... 3 1.2 选择 D-Script(D 脚本) 弹出 D-Script(D 脚本列表) ................................................ 3 1.3 Add(添加)按扭,编辑增加 D-Script(D 脚本对话框) ................................................ 4 1.4 Options(设置)下拉菜单 ........................................................................................... 5 1.5 Trigger(触发栏) ....................................................................................................... 5 1.5.1 定时周期触发 ................................................................................................ 5 1.5.2 位边沿触发 ................................................................................................... 5 1.5.3 表达式触发 ................................................................................................... 6 1.6 D-Script Toolbox(D 脚本工具箱) ............................................................................. 6 1.6.1 Functions(功能)下拉列表框 .......................................................................... 7 1.6.2 Statements(编程语句) ................................................................................ 14 1.6.3 operators(运算操作符) ............................................................................... 15 1.6.4 Compare (比较命令)................................................................................... 18
2 弹出键盘窗口 ........................................................................................................................ 19

2.1 弹出键盘的应用 .................................................................................................... 19 2.2 自动弹出键盘(v 60 以后)....................................................................................... 19 2.3 U-tag 实现弹出键盘的制作过程 ............................................................................ 19 2.4 窗口使用的限制 .................................................................................................... 23
3 密码制作............................................................................................................................... 24

3.1 一级密码制作的效果 ............................................................................................. 24 3.2 一级密码制作的具体介绍 ...................................................................................... 24 3.3 多级密码制作 ........................................................................................................ 27
4 扩展串口的应用..................................................................................................................... 29

4.1 接收功能 ............................................................................................................... 29 4.2 发送功能 ............................................................................................................... 29 4.3 控制 ....................................................................................................................... 29 4.4 状态 ....................................................................................................................... 31 4.5 接收数据的大小 .................................................................................................... 32 4.6 扩展通讯口的设置 ................................................................................................. 32 4.7 通讯举例 ............................................................................................................... 32

2

高级手册(下)

1 D 脚本编程语言(D-Script)
在用 GP 软件制作画面的过程之中,根据实际情况, 有时候需要对一些数据进行处 理,包括判断、运算、转移、复位,甚至包括一些动画的绘制,如果将这些数据全部交 给 PLC 处理,必然大大增加 PLC 的负担,减缓通讯速率,并且给 PLC 编程人员加大 了编程的难度,为此,GP 提供了一项特殊功能:D 脚本编程语言(D-Script)。使用 D 脚 本编写程序,使 GP 本身能够完成一些数据处理,从而协调好与 PLC 的通讯工作。

1.1 选择 special(特殊)下拉菜单

D-script(D 脚本)仅仅针对当前画面有效。 Global D-Script(全局 D 脚本)对所有画面均有效,适用于 GP77 和 GPZ000 系列。

1.2 选择 D-Script(D 脚本) 弹出 D-Script(D 脚本列表)

3

高级手册(下)

1.3 Add(添加)按扭,编辑增加 D-Script(D 脚本对话框)

File (文件)下拉采单:

Export Text File (导出文本文件):将公式编辑栏里的内容转化为 txt 文本文件后保存到 指定目录。 Import Text File (导入文本文件):将指定目录中的 txt 文本文件内容打开在公式编辑栏里。

4

高级手册(下)

1.4 Options(设置)下拉菜单

use syntax Guide (语法导向):可以抽取公式编辑栏中的数据。 use syntax Guide (语法检查):自动检查公式编辑栏中的语句是否合法。

1.5 Trigger(触发栏)
触发栏用于设置启动程序的触发条件,当触发条件成立,便执行公式编辑栏中的程序。触 发条件有三种形式:定时周期触发、位边沿触发和表达式条件触发。

1.5.1 定时周期触发
选择定时周期触发时,设置触发时间(秒),则每隔这一段时间,程序执行一次。

1.5.2 位边沿触发

5

高级手册(下)

:在设定位地址的上升沿触发。 :在设定位地址的下降沿触发。 :在设定位地址的上升沿和下降沿均触发。

1.5.3 表达式触发

:当 Action(操作)栏中的表达式为由假(0)变真(1)时,程序执行一次。 :当 Action(操作)栏中的表达式为由真(1)变假(0)时,程序执行一次。

1.6 D-Script Toolbox(D 脚本工具箱)
当 Show Toolbox 被选中时,弹出右图所示 D 脚本工 具箱,在此工具箱中包含了 D 脚本所用到的所有指令。

6

高级手册(下)

1.6.1 Functions(功能)下拉列表框
在 Functions 下拉菜单中有五大部分:Data Set(数据设置)、Draw(绘图)、Memory Ops.(内存操作)、SIO Port Ops.(SIO 口操作)、Bit Ops.(位操作)。 1.6.1.1Dataset(数据设置)

Bit Address:设置位地址。 Constant:设置常量,有 Dec(十进制)、Oct(八进制)、Hex(十六进制)三种数据格式。 Temp. Address:设置临时地址。 Word Address:字地址。 1.6.1.2Draw(绘图)

Call Screen:调用一个画面,需要设置画面号以及目标画面中心所放置的坐标。 Circle:绘制圆,需要设置圆中心坐标以及半径。 Dot:绘制点,需要设置点放置的坐标。 Line:绘制线段,需要设置线段放置的起始以及终结坐标。 Rectangle:绘制矩形,需要设置矩形的左上角和右下角坐标。

7

高级手册(下)

1.6.1.3Memory0Ps.(内存操作)

Memory Copy(内存复制):该功能可以将字地址区段复制。 格式:memcpy([w:DI Word Address],[w:SI Word Address],Copy Size) DI Word Address:内存复制的目标起始字地址。 SI Word Address:内存复制的源起始字地址。 Copy Size:设置区段(范围在 1 ~ 640 之内)。 范例:

Memory

Copy(variable):间接可更改的内存复制。 格式:_memcpy_EX(Parameter1,Parameter2,Parameter3) Parameter1:带偏移量的目标起始字地址,偏移量在临时字地址中设置。 Parameter2:带偏移量的源起始字地址,偏移量在临时字地址中设置。 Parameter3 :设 置区 段, 可 以直 接用 常 数给 定, 也 可以 用 LS 字 地址或 者 临时 字地 址设置(范围在 1 ~ 640 之内)。 范例:

8

高级手册(下)

Memory Set(内存设定):可以将字地址区间赋值。

Set Word Address:设置起始字地址。 Set Data:给字地址赋值。 Set Size:设置区段(范围在 1 ~ 640 之内)。 范例:

该语句将字地址 LS0020 – LS0024 赋常量 8。 Memory Set(Variable):间接可更改的字地址区间赋值(仅使用于 GP2000 系列,GP2301 和 GP2501 除外)。

Parameter1:目标起始字地址,在临时字地址中设定偏移量。 Parameter2:赋值。可以在 LS 区或者临时字地址设置,或者直接输入常量设置。 Parameter3:设置区段,可以在 LS 区或者临时字地址设置,或者直接输入常量设置 (范围在 1 ~ 640 之内)。

9

高级手册(下)

范例:

该语句执行下列功能:将常量 80 赋于字地址 D0108 一 D0113。 Offset Address:字地址偏移,该功能适用于 GP77R 系列、377 系列和 GPZ000 系列。

格式:[Word Address] # [Temporary Work],该语句表示一个新的字地址,即旧地址 Word Address + Temporary Work 的数值而生成的新地址。 范例:

该语句表示:将字地址 LS0105 的内容赋给字地址 LS0100。 1.6.1.4 S1O Port OPs.(扩展串口,适用 GP2000 系列)

Label Setting
10

高级手册(下)

该功能可写,用于清空输出、清空输入、复位错误状态。 格式:以“位”为对象时:[c: EXT SIO CTRL**] **代表 00 ~ 15 ..以“字”为对象时:[c: EXT SIO CTRL] EXT SIO CTRL(扩展口清空控制)

注意:当 EXT SIO CTRL 被设定后,程序将以如下顺序执行:复位错误->清空输入->清空 输出。 EXT SIO STAT(扩展口状态) 该功能只读,包括如下一些内容。

11

高级手册(下)

注意:保留位留待以后设定,勿占用。 数据传输错误有两种:传输间歇和数据堵塞。当两种错误同时存在的时候,传输错误位 ON。 数据接受错误有四种:奇偶错误、满载错误、桢错误、溢出错误。只要其中之一发生, 数据接收错误位 0N。

EXT SIO RECV(扩展口输入) 该功能只读,显示接收到的字节数。 格式:[r: EXT_SIO_RECV] STR ERR STAT(字符串错误状态) SIO Receive(扩展口数据接收) 从扩展口读入数据写入指定地址寄存器。

格式:IO_READ( [p: SIO Port No.],[w: Receive Buffer Top Address],10) SIO Port No.(扩展口):指定接收数据的扩展口。 .Receive Buffer ToP Address(数据接收始地址):起始地址存储接收数据的数量,其 后连续地址存放数据。 Receive Size(数据大小):设定接收数据的数量。 范例:

12

高级手册(下)

该程序执行:

SIO Send(扩展口数据发送)

从指定寄存器写入数据到扩 展口,然后由扩展口发送

格式:IO_WRITE([p: SIO Port No.],[w: Send Buffer Top Address],Send Size) SIO Port No. (扩展口):指定发送数据的扩展口。 Send Buffer Top Address(数据发送始地址):指定发送数据的起始源地址。 Send Size(数据大小):指定发送数据的数量。 范例:

13

高级手册(下)

该程序执行:

1.6.1.5 Bit Ops.(位操作)

Clear Bit:将指定的位置“0”。 Set Bit:将指定的位置“1”。 Toggle Bit: 将指定的位状态转换, 0->1 或者 1->0。

1.6.2 Statements(编程语句)

当( )中的条件为真,则执行{ }中的命令。

当( )中的条件为真,则执行命令 1,否则执行命令 2。

14

高级手册(下)

.循环执行{ }中的命令,循环次数设定于临时地址中。

.在执行完命令 1 之后,不执行命令 2,结束循环。Break 指令适用于 GP77R、GP377 和 GPZ000 系列。

1.6.3 operators(运算操作符)

:左移位。将左边的数据向左移位,移的位数由右边的数据决定。

15

高级手册(下)

范例:

:右移位。将左边的数据向右移位,移的位数右右边的数据决定。 :字的与运算。将两个字的对应位进行“与”运算。 范例:

W0020 T0000 W0020

:字的或运算。将两个字的对应位进行“或”运算。 范例:

16

高级手册(下)

W0020 T0000 W0020

:字的或非运算。将两个字的对应位进行“或非”运算。 范例:

W0020

T0000 运 算 后 W0020

:字取非。将一个字的所有位进行“非”运算。 范例:

W0020 W0020

17

高级手册(下)

1.6.4 Compare (比较命令)

2.7 功能块 在写 D 脚本的时候,可以将一些常用的功能写成一个功能 中调用(GP270 不支持该功能)。 Call:调用一个功能块。 New:新建一个功能块。 Edit:编辑选中的功能块。 Delete:册]除选中的功能块。 Copy:复制选中的功能块。 Paste:粘贴选中的功能块。 如何编辑功能块,请参照 D 脚本编辑器。

块,以便在其他 D 脚本

18

高级手册(下)

2 弹出键盘窗口
2.1 弹出键盘的应用
◆ 弹出键盘在实际应用中,可以使画面美观简洁紧凑。 ◆ GP-PRO/PB V5.05 及以前支持不自动弹出键盘,可以用 U-TAG 实现弹出键盘。 ◆ GP-PRO/PB V6.0 以后支持自动弹出键盘。

2.2 自动弹出键盘(v 60 以后)
这是 GP-PRO/PB V6.O 以后版本的。 在[parts(部品)]菜单中选择“[Keypad Input Display(键盘输入显示器)]”,出现“[Keypad Input Display(键盘输入显示器)]”设定对话框中(如图 2-2-1)。

(图 2-2-l) 在图上如果选择“Use Pop-up Keypad(用自动弹出键盘)”就可以实现自动弹出键盘功能。 而在 GP-PRO/PB V6.0 以前的版本就没有这个选项。如不选择或没有这一选项,就要用 U-TAG 来实现。下面主要介绍如何用 U-TAG 来实现这一功能。

2.3 U-tag 实现弹出键盘的制作过程
1.新建一工程文件,打开画面编辑器窗口。

19

高级手册(下)

2.制作一键盘画面。新开一个基本画面,然后从「Parts(部品)]菜单中选择「KeyPad(键盘)], 放置到画面,并保存画面(例如保存为画面 2),如图 2-3-1。

(图 2-3-1) 3.将上面的键盘进行窗口注册,从「Screen(画面)]下拉菜单中选择「Window Registering (窗口注册)],出现一个对话框(图 2-3-2),点击 ADD(添加)把键盘窗口注册为窗口,本例 子注册为“窗口 1”(*具体的窗口注册请参阅《操作手册》第 98 页)。

(图 2-3-2) 4.键盘输入显示。再新建一基本画面,在「Parts(部品)]下拉菜单中选择[KeyPad InPut Display(键盘输入显示器)],出现如下对话框:

输入用于存储 显示数据的字 地址

触发位地址

(图 2-3-3)
20

高级手册(下)

[KeyPad InPut Display(键盘输入显示器)]放置到画面后,画面如下: 图 2-3-4:[ KeyPad InPut Display(键盘输入显示器)]放置到画面图

(图 2-3-4) 5.按图 2-3-3 所示的设置地址例子,要输入数据时,须使键盘输入功能被激活,即要使 LS0020 地址为 ON, 可以在“[KeyPad InPut Display(键盘输入显示器)]”上面叠加一个 Bit Switch(位开关)(*要透明的),地址设置为:LS100100。如图 2-3-5: 叠加一个透明的位开关

(图 2-3-5) 6.用 U-Tag 去调用键盘窗口。从「Tags]下拉菜单选择「U-tag,弹出对话框],然后进行设 置。 U-Tag 有两种方式。 Direct 方式用一个寄存器(bit0)控制窗口的显示与消失,哪个窗口出现以及窗口显示 的位置是固定的。 Direct 方式下还可以选择“High speed”方式, 通过一个 Bit Address 来控制窗口的显示与消失。 Indirect 方式用四个连续寄存器控制窗口的显示与消失、窗口号、窗口 X 坐标、窗 口 Y 坐标。因此可以改变窗口显示的内容、移动窗口的位置。 例子我们用 Direct 方式。 “Designated Window(指定窗口)”里直接选择 Direct(直接)方式。 “Word Address(字地址)”设置为:LS1000。 “window Registration No.(窗口注册号)”选择 1,如图 2-3-6 的对话框。

21

高级手册(下)

U-Tag 设置的对话框。 U-Tag 设置

(图 2-3-6) 设置好 U-TAG 并放置在“基本画面 1”上(自己认为比较理想的地方)。 如图 2-3-7 红色区域 所示。 U-TAG 的位置

(图 2-3-7) 7.当然要想让 U-tag 动作,也要对其进行触发。 因为前面的例子,U-Tag 是 Direct 方式控制,所以在基本画面 1 中的“「KeyPad Input Display(键盘输入显示器)]”上再叠加一个开关,按下该开关时将地址 LS1001 置为 1,控 制窗口显示。 8.弹出键盘输入数据以后,要让键盘窗口自动消失,只要把 U-tag 的触发位进行复位。

22

高级手册(下)

在 GP 系统数据区,Enter 键输入数据时,LS0006 的 bit03 位对应发生状态反转。我们 可以根据这个 bit 的状态变化,增加一个 D-SCRIPT 程序,来使 LS0200 复位。注意选 择 Trigger 为“上、下沿”。 此外,我们也可以在键盘 Enter 键的下面,叠加一个开关,按下该开关时将地址 LS0200 置为 0(当然这需要在键盘画面里做!)。 Enter 键使 U-Tag 触发复位的 D-SCRIPT 程序。

(图 2-3-8) 9.OK 但是,还有可以简化的地方。如果 U-TAG 是用 High Speed 方式,即用一个 bit Address 来控制窗口的显示与消失。我们想到“[KeyPad InPut Display(键盘输入显示器)]”也是用 一个 bit Address 来触发输入状态的。 因此我们可以公用同一个 bit Address 来控制输入、 U-TAG。这样就省了 LS1001 地址的使用、以及对 LS1001 操作的相关设置! 但是 U-TAG 采用 High speed 方式是有限制的。

2.4 窗口使用的限制
在使用 U-TAG 时当然也会有一些限制: ● 在同一窗口上不能同时执行 U-TAG,K-TAG 及 V-TAG。 ● 请勿在窗口上显示 Trend Graph(趋势图)。 ● 有选择 High speed 选项和没有选择 High speed 选项的 U-TAG 不能在同一个画面显 示。当选择 High speed 选项虽然窗口尚未显示,但资料写入的 TAG(如 W-TAG, D-Script 等)触发发生时,将会动作。如果你希望先显示窗口后,再执行资料写入的 TAG,请 不要选择“High Speed”。 ● 如果当前基本画面上的 TAG 和窗口数超过了 256,则第 257 开始的 TAG 不起作用 (GP270/G P370/GPH70 为 128 个)。 ● 再同一个画面中,最多可以设定两个使用“High speed”的 U-TAG。 ● 如果当前画面及它调用的窗口上,所有的 R-TAG 中设定的显示位置数超过了 512, 则第 513 开始的位置不会显示(GP270/GP370/GP470 只有 256)。
23

高级手册(下)

3 密码制作
密码在实际应用中是很有用的, 许多地方需要进行加密码保护, 这样为了防止重要的操 作参数被修改不便于机器工作。 下面主要进行介绍密码(及多级密码)制作过程:

3.1 一级密码制作的效果
举一个简单的例子:如下图 4-1 所示:

3.2 一级密码制作的具体介绍
1. 先建一基本画面,为了要输入密码,就要有一个键盘输入显示窗口。在窗口上放置一个 K-TAG(如图 4-2)就可以实现。本例中 K-TAG 的地址设置如下图 4-2,字地址设为: 数据输入到 1000,触发位地址设为:110000。

(图 4-2) 2. 当然要输入密码就要有个键盘,可以在部品中直接选择,形状可以自己按照需要改动。 3. 在实际输入密码时我们当然不想让别人知道,在输入密码时用*号来表示,这个功能可 以用部品中的“Message Display(信息显示)”来实现。
24

高级手册(下)

本例为四位密码。“Message Display(信息显示)”的字地址设为:LS0200。用 LS0200 对键盘按键的次数进行统计。 按一下键时 LS0200=l, 就显示一个*号; 按两下键时 LS0200=2, 就显示两个**号,依此类推。 Message Display 的设定如下图 4-3 所示,图中 NO.of message(信息数)选择 8 以上都 可以。message 所对应的每一条信息在 selected message 中输入,0 对应的信息输入空白 内容,l/2/3/4 分别对应输入“*”、“**”、“***”、“****”。

(图 4-3) 4. 下面就要实现用 LS0200 对按键次数的计数。 l)为配合*号显示,在键盘上叠加放置透明的开关按钮,对按键次数的计数。 2)数字键上透明的字开关,按下时“次数加 1”,设置如下图(4-4),字地址是 LS200 (同 Message display 相对应) ,按下时内容加 l(如果 l 个*号按一下就 2 个*号) ; 3) DEL 键上透明字开关,按下时“次数减 1”,设置如图 (4-5); 4) CLR 键上透明字开关,按下时“次数清零”,设置如图 (4-6); 5) ENTER 键上的透明开关是为了实现输入密码后判断密码是否正确。ENTER 键上 透明位开关设置,位地址:LS10001,

5. 当输入错误的密码时需要弹出一个报警对话框,提示密码错误。这可以用 U-TAG 实 现(U-TAG 的使用在上一章中也有介绍)。 l) 先在另外的一个 BASE 画面里制作报警内容。 2) 将它注册为一个报警窗口如图 4-7。 3) 在密码输入画面,使用 U-TAG。U-TAG 的 字地址:LS0201;放在画面 5 上自己认为可以 的地方。

25

高级手册(下)

6. 相关的 D-SCRIPT 脚本 D 脚本编程是此例中最主要的,可以在基本画面 5 上,菜单栏选择 Special 的下拉菜单 D-Script,再选择 ADD,就可以进行编程了。 本例包括进入画面时初始化、密码判断、关闭报警窗口几个脚本。 ? 进入画面时初始化。如图 4-8

(图 4-8) 图中当画面跳到基本画面 5 (LS0000 是系统区地址它的内容显示的是画面号,本例是 第 5 画面) 时,信息显示(LS0200)为零,报警信息 (LS020l U-TAG) 不触发,键盘输入显 示 (LS1000) 为空,set[(LS010000)]使键盘输入处于待输入状态。 ? 密码判断。如图 4-9 本例固定密码为:1234 if([w:LS1000]==1234)//如果密码为 1234 {[w:LS0008]=2//画面就切换到基本画面 2 clear([b:LS020100])//清报警 [w:LS0200]=0//清信息 [b:LS020100]=0 } endif if([w:LS1000]<>1234)//如果密码不是 1234 {set([b:LS020100])//弹出报警 } endif *图 4-9 中 Edge Bit Address(边缘位地址)为:LS010001,同 ENTER 键上的透明的位

开 关相对应,当 ENTER 键按下后就执行这个脚本进行判断。

26

高级手册(下)

(图 4-9) ? 关闭报警窗口、清除信息、重新开始输入。如图 4-10

(图 4-10) 当密码错误、图 4-7 报警窗口弹出后,按下窗口里的 OK 键,消去窗口同时使信息显 示(LS0200)清空为零。 至此,密码制作功能完成。

3.3 多级密码制作
一个简单的多级密码就是在一级密码的基础上多加几条判断语句,下面就上例基础上 举一个三级密码来进行说明。 1.按上例一级密码放置部件,如图 4-1,地址及各设置都一样。 2.要变化的主要是 D 脚本中的密码判断。其它的 D 脚本不变,把图 4-9 中 D 脚本的 内容改为: //一级密码判断 if([w:LS1000]==1111) //如果密码为 1111
27

高级手册(下)

{[w:LS0008]=2 //画面就切换到基本画面 2 clear([b:LS020100] //清报警 [w:LS0200]=0 //清信息 [b:LS020100]=0 } endif //二级密码判断 if([w:LS1000]==2222) //如果密码为 2222 {「w:LS0008]=3 //画面就切换到基本画面 3 clear([b:LS020100]) //清报警 [w:LS0200]=0 //清信息 [b:LS020100]=0 } endif //三级密码判断 if([w:LS1000]==3333) //如果密码为 3333 {[w:LS0008]=4 //画面就切换到基本画面 4 clear([b:LS020100]) //清报警 [w:LS0200]=0 //清信息 [b:LS020100]=0 } endif //密码错误 if([w:LSl000]<>1111and[w:LSl000]<>2222and[w:LSl000]<>3333) //如果密码不是 1111 和 2222 和 3333 {set([b:LS020100]) //弹出报警 } endif 这样一个简单的三级密码就基本做好了。

28

高级手册(下)

4 扩展串口的应用
这个功能仅适用于 GP2000 系列(除 GP2301,2501,2401H 和 2301H 外) 扩展串口通过 D 脚本的编写能够方便的实现通讯(RS232 口),下面是 D 脚本的编写语句的 说明:

4.1 接收功能
下面的命令被用于读从扩展口接收到的数据。 格式 IO_READ([p:EXT_SIO],LS Storage Address,Transer Byte) 例如 IO_READ([p:EXT_SIO],[w:LS0100],10) [p:EXT_SIO]表示接收数据 [w:LS0100]这是存放接收数据的起始地址,接收数据的大小存放在 LS0100,接收的数 据从 LS0101 开始存,10 表示有 10 个字节存放在 LS 区(最大传送字节是 6095)。

4.2 发送功能
下面的命令表示把要发送的数据写到扩展口 格式 IO_WRITE([p:EXT_SIO],LS Storage Address,Transer Byte) 例子 IO_WRITE([p:EXT_SIO],[w:LS0010],10) [w:LS0100]是要发送的数据的开始地址,10 表示要发送 10 个数据, *注意:每一个传送的是字节,也就是说传送的是每一个字的低八位,同样接收的数据 也是一样的,如下图所示 LS0100 LS0101 LS0102 LS0103 LS0104 LS0105 LS0106 LS0107 LS0108 LS0109 00 00 00 00 00 00 00 00 00 00 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Byte8 Byte9 Byte10

4.3 控制
增加控制变量去清除发送和接收缓存器以及错误状态,这个变量的属性是只能写的。 格式
29

高级手册(下)

位 [c:EXT_SIO_CTRL**] **:00 to 15 字 [c:EXT_SIO_CTRL] 例如:控制字的内容 位 [c:EXT_SIO_CTRL00] = 1 字 [c:EXT_SIO_CTRL] = 0x0007 当控制字的内容被确定以后, 它的处理过程按照这样的次序来完成的, 先清除错误状 态,然后清除接收缓存,再清除发送缓存。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

位 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

内容 保留 保留 保留 e 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 1:清除错误状态 1:清除接收缓存 1:清除发送缓存

30

高级手册(下)

4.4 状态
增加 [EXT_SIO_STAT] 作为状态变量,这个变量的属性是只读的。 格式 位 [s:EXT_SIO_STAT**]**:00 to 15 字 [s:EXT_SIO_STAT] 例如 位 if([s:EXT_SIO_STAT00]=1) 字 if(([s:EXT_SIO_STAT]&0x0000)<>0) 字的内容描述如下图 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

位 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

内容 0:没有扩展 SIO 协议 1:有扩展 SIO 协议 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 保留 0:正常 1:接受错误 0:没有接受到数据 1:接受到数据 0:正常 1:发送错误 0:发送缓存有数据 r 1:发送缓存没有数据

注意:l)只有需要检测的位去检测,保留的位留作以后用。 2)当数据传送发生错误时,数据传送错误的位便置 1。 3)当数据接受错误发生时,数据接收错误位便置 1。

31

高级手册(下)

4.5 接收数据的大小
这个属性也是只读的。 格式 [r:EXT_SIO_RCV] 例如 if([r:EXT_SIO_RCV] >= 10)

4.6 扩展通讯口的设置
这个设置可以在离线方式(OFFLINE)或者在 GP system 中都可以。 设置 传送波特率 数据长度 停止位 校验位 设置范围 2400,4800,9600,19200, 38400(bps) 7,8(bits) 1,2(bits) None,Odd,Even 9600bps 8(bits) 1(bits) None 设置值

4.7 通讯举例
现在有一个通讯仪表,它有一个 RS 一 485 口,它支持多种波特率。首先在 GP 的扩 展 SIO 设置中选择和仪表的通讯设置一样的参数。(一个起始位,8 位数据,无校验位,一 个或两个停止位) 新建一个工程, PLC 类型选择 Memory Link SIO type, 协议选择 General SIO protocol, 然后新建主画面,在主画面上建立如下几个部件: 1) 位开关 它的地址是[b:005200],相对应的符号是初始化,功能是”momentary’’ 2) 位开关 它的地址是[b:005200],相对应的符号是自动收发,功能是“bit Set” 3) 再可以放若干个用于输入要发送的数据“数据输入”部件和相对应的要显接收数据用的 “数据显示”部件,这样就可以很清楚的看到通讯是否成功了。 这样再在 D 脚本编写程序,可以参考如下: 第一个程序:触发条件是「b:005200]的上升沿 if(「S:EXT_SIO_ STAT15]==1) //判断端口的状态,检查是否有扩展 SIO 协议 {[w:通讯步骤]=1 [w:超时设定]=3 //3 秒的超时(这里的数据可以改变) [w:下一通讯]=1 [c:EXT_SIO_CTRL]= 0x07 //将发送缓存和接收缓存区都清 0 } endif 第二个程序是主程序,触发条件是「b:203802]上升沿 if(1) { if([b:通讯允许]==1) //允许通讯 { if([w:下一通讯]==1) //有多个通讯命令时,用此控制

32

高级手册(下)

{ if([w:通讯步骤]==1) //第 1 步发送 {if([S:EXT_SIO_STAT00]==l) //发送缓冲为空 {IO_WRITE([p:EXT_SIO],[w:0080],8) //发送数据 [w:通讯步骤]=2 //发送完成标志 [w:接收超时]=[w:超时设定] //接收超时 } endif } endif //END 通讯第一步 if([w:通讯步骤]==2) //第 2 步接收数据 {if([S:EXT_SIO_STAT02]==l) //接收缓冲区有数据 {if([r:EXT_SIO_RCV]>=10) //接收 10 个数据 {10_READ([p:EXT_SIO],[w:0100],10) [w:通讯步骤]=10 //完成读数据 [w:下一通讯]=1 //多个通讯命令,改此值 「b:通讯允许]=0 } endif } endif if([w:接收超时]==0) //发生超时 {[w:通讯步骤]=11 [w:下一通讯]=1 //重复发送该命令 「b:通讯允许]=0 } endif } endif //END 通讯第二步 } endif } endif } endif 第三个程序:它用于检测通讯是否超时,触发条件是每隔一秒运行一次 if(「w:接收超时]>0) {[w:接收超时]=[w:接收超时]-1 } endif

33


相关文章:
Proface编程手册2
Proface编程手册2_信息与通信_工程科技_专业资料。Proface人机应用程式编写 高级手册(下) 普洛菲斯国际贸易(上海)有限公司 Pro-face China International Trading (...
Proface编程手册1
Proface编程手册1_信息与通信_工程科技_专业资料。Proface人机应用程式编写 ...5. 3.2.3 存取 CF 卡时须注意的事项在 CF 卡和 GP 存取数据时发生下列...
Proface应用案例一
Proface编程手册1 67页 2下载券 PROFACE 27页 免费 proface 11页 免费 proface...2.选择画面 进入系统后,进入此画面,画面包括各工位手动操作、伺服手动画面及配方...
Pro-face资料传输
pro-face编程手册 36页 2下载券 proface基础教程 70页 免费 Pro-Face入门手册 36页 1下载券P​r​o​-​f​a​c​e​资​料​传​输 ...
SHT2工艺流程功能描述挤压机篇
该 Pilz 可编程可通过 Profibus DP 同 PLC 进行通讯,在 Proface HMI 上将安全状态信息显示出来。 二.功能描述 1. 安全部分 有关挤压机安全部分的开关有 3 ...
PROFACE
首先安装 proface 软件, 安装方法如下: 双击打开 GP 编程软件包 ,出现如下...2.点击后,将会弹出如下对话框: 然后在 PLC 型号下面选择手册中给出的通讯方式...
250-200两复合主机技术附件
1.2 用途:双复合挤出机组主要适用于复合或非复合的...可编程控制器 人机界面 主要低压电器 按钮、信号灯 ...Proface 施耐德 和泉 日本欧姆龙公司 日本 RKC 公司 ...
海华机电 服务手册
编程控制器、触摸屏、变频调速器、交流伺机服务、低压电器、 仪器仪表、现场...PROFACE 触摸屏、昆仑通态触摸屏、威伦触摸屏 2.高低压电器类: 西门子、ABB、...
proface GP3000 4000 USB上下载手册
proface GP3000 4000 USB上下载手册_计算机硬件及网络_IT/计算机_专业资料。proface...PROFACE选型手册 8页 免费 Proface编程手册2 33页 2下载券喜欢此文档的还喜欢...
告诉新手学习PLC的道路
第2步:在电脑上学习 FX 系列 PLC 下面介绍学习 ...tid-160.html 下载 FX 系列 PLC 编程手册:http:/...proface: http://www.proface.com.cn/ Selectron ...
更多相关标签:
proface编程手册 | proface编程软件下载 | proface编程软件 | proface触摸屏编程 | proface gp4000 手册 | proface触摸屏手册 | proface手册 | proface使用手册 |