WINCC中使用C脚本获得操作记录
文档号
版本|日期
页数
SIEMENS
应用范围
详述
在生产中,有很多时候需要记录操作员的操作,以便进行事故分析。
本身提供了一些对象可以产
生操作记录,但是在复杂的情况下是无法兼顾既获得操作记录又满足特殊操作的要求。这时,可以使用脚
本来获得操作记录。
日前,在
中以下对象可以很方便地获得操作记录
任何对象,将
选中
-Object Properties
11 Direct Connection
2团he2yp[ars
C anert odor
P oper ies Events
C DEject in Pieture
F匹51107E↑58S
E- Rectangle Execs e in he case of Acti
a Dilect C Indirect Operato: nput Massage
abject
MiscellanecPressrcrt
+Flashi
tMis
K
图通过
获得操作记录的组态
对象和
对象,将
属性选择为。
Object Properties
Even
E - Opti
up
Attr bute
Static Dynam
ntor-Control enable
Font
Flashing
Conf qured Languages
Miscellaneous
perator InpuⅣ essar
Filing
Output ing
图
对象和
对象获得操作记录的组态
对象和
对象:将
属性选择为
或将
中使用脚木获得操作记录的方法原创
文档号
版本日期
页数
SIEMENS
属性选择为
和
的区别是后者可以输入操作理由,确认之后操作记录的
中可以查看到操作理由。
obiect
Properties
p
oblect
5liderObj
Slider obiect
Attribue
Dyramic CU.,II
e
Flasher
Miscellaneous Operator A: tivities Report No
Filling
Operator Input Message Yes
J
alue
Minimum vaue
Process Driver Connection 2
图
对象和
对象获得操作记录的组态
以上方法可以快捷地实现获取操作记录的功能,但是在某些情况下,功能要求更复杂,通过以上方法并不
能满足要求。比如:操作员操作一个启动按钮,要求系统能够υ录操作员操作信息。在单步操作的情况下,通
能够很方便地实现这一功能ε但是在两步操作的情况下,需要操作员先认,在得到确
认之后操作才能生效,由于
并没有提供操作确认功能,显然通过
并不能
满足要求。在这一的情况下,可以考虑采用脚本来实现这一功能,通过
函数来完成操作确认
的功能,然后通过特别的函数来使系统生操作记录
适用的系统
该方法适用于安装有
的系统中。
硬、软件配置
安装有
软件,无版本限制。
解决方法
通过脚本产片操作记录l要完成两部分组态工作,首先要在
屮组态消息类型和定制消息
内容;然后编写脚木来产生操作记录。
第一步:在
中组态消息类型和定制消息內容
新建消息并定义消息类型。系统产生的消息(包括了操作记录)和定制的消息都存储在
中,编号从
开始的消息为系统使用的消息,不能组态。如果需要定制消息,可
以使用
之间的消息号。在
中打开
新建一条消息
消息号为,打开该消息的属性对话枉,如图所示。在
中,将
和
都选为
,侏留其余默认设置。
中使用脚木获得操作记录的方法原创
文档号
版本日期
页数
SIEMENS
Single message
Paramet
Text Tag/Acti
Numb
Operator Input Message
Operator Input Mles
Message t ad
Grou
UA
ge Bit
PrioritY: 0
ACKnowledge I ag
R
Th
Acknowledge Bit: 0
is single acknowledgment only
Status Ta口
controls the Central Signaling device
Status Bit
is created on a negative edge
Format dll
triggers an act
DLL-ParameteIs
ect th
Cancel
Help
图消息的参数组态
定制操作记录的内容。每条操作记录都在单独的消息行中显示,消息行的内容取决于选定的消息
块,每个选定的消息块组成消息行中的·列。如图所示,系统提供了三和不同类型的消息块:
①系统块显示预定义的消息,如日期、时间、持续时间、注释;②用户文块允许最多为
条消息指定「个可定义文本,包含作来源、操作内容、时间等信息。③过程值块:系统提供了
十个过稈值,通过过稈值块可以在消息行中显示已定义的标签值。并非消息块中每一项都需要在
消息中显示,可以在系统图形文件
中进行定制。
S Alarm Logging [OS MCPI
E区
File Edt View Messages o05 Help
日自翻
圈 Message blo
urce
F
Free
图pati
t Archiv
图消息块类型
通常,在进行事改分析时,需要了解操作日期、时间、操作来源以及操作内寳。前面提到,系统块提供了
操作日期和时间信息,只需要选中这两个选项,无需特别的组态。因此,定制操作记录只需要再对操作来源和
操作内容进行组杰就可以了。
中使用脚木获得操作记录的方法原创
文档号
版本|日期
页数
SIEMENS
先来了解下通过
产生的操作记录的内容,如图所示:操作来源中显示的是变量名
称,变量包含了工厂层级信息。操作内容中包含了用户名、新值和旧值的信息。变量名、用户名、新倌和旧值
可以从过程值块的变量中获得。先对过程值模块中个过程值的用处作如表中的定义:
t operation list
圉臣堅
用户
新值
∏值
Date
Time
Operation
116M2阳7
09:122As_FA01172Hs805日
siemens New =1 old= a
216H2心72204236070 AS FARO51107
siemens New =1 old =0
3161207
2122:185510 AS FARD511072Hs805日
siemens newt old=1
图操作记录列表
过程值
7
8910
变量的变量的备备当前登录
备「备备
用处消息号新值旧值用用的用户名变量名用用用
表过程值块变量用处的定义
在进行上述的定义之后,进入消息组杰对话框,选择
栏,进行用户文本块的定义,如图所示
Single message
noTe紕
变量名
Sour
鸟r
nt
用户名一新值
旧日值
Batch name
Operatio
9638N2em
Free 1
Free 2
Free
Free 4
Free 5
Enter the message text
K
Cancel
Help
图用户文本块的组态
用户文本块中的内容可以手对输入,也可以通过点击右边的进入文本组态对话框进行消息格式的组
态,如图所
中使用脚木获得操作记录的方法原创
文档号
版本日期
页数
SIEMENS
Insert Process value
」 er text block
Length
Test
arista
Process value block
Text
Position
厂 pad with
Number of
Digits
Dutput
Format S pecification
E mample
Test
Cancel
图用户文本块中输出格式的组态
到这里,我们就完成了在
中操作记录的组态工作,接卜来就要进行本的编与∫。
第二步;编写脚本。
脚本中要倣的工作主要有分两步,先是进行变量的赋值,然后再创建消息
变量的赋值ε在触发消息的事件(如按钮的鼠标左键释放事件)的脚本中定义变量并给变量赋
值,根据表中的定义,需要定义两个数组,·个是数值类型为
,另…个数值类型为字
符指针,前者用于有放消息号、变量的新佶和旧值,后者用于冇放当前脊录的用户名和变量名。
以下是按钮鼠标释放事件的脚本程序。
定义消息号,并赋值
定义
型数组,对应过程值块的前个变量
定义字符指针数组,对应过程值块的后个变量
确认操作
中使用脚木获得操作记录的方法原创
文档号
版本日期
页数
SIEMENS
确定要启动吗?启动确认
获取旧值、赋予新值
将用户名、变量名、消息号、新值和旧值放到定义的数组中
调用产生消息的函数
创建消息。
消息创建函数需定义为全局脚本函数,主要将值传递给消息块的结构变量并创建消息。以卜是产
生消息函数的脚本。
定义为消息到达
赋消息号给将要创建的消息
定义用到了过稈值块中的哪些过稈值
定义用到∫用户文本块中的哪些选项
拷贝数值到消息块的过程值中
发送消息到
中使用脚木获得操作记录的方法原创
文档号
版本日期
页数
SIEMENS
后记:通过本不仅可以产生操作记录,也可以产生报警记录、日志记汞,只需要在
中将消息类型改成对应的类型。
中使用脚木获得操作记录的方法原创
wincc 用c语言读取用户名 WINCC中使用C脚本获得操作记录_wincc脚本读取报警记录-C文档类资源...