WinCC 脚本系统

合集下载

wincc脚本系统课程设计

wincc脚本系统课程设计

wincc脚本系统课程设计一、课程目标知识目标:1. 学生能理解WinCC脚本系统的基本概念,掌握脚本系统的功能与操作流程。

2. 学生能掌握在WinCC中运用脚本语言进行数据处理、监控和报警等基本操作。

3. 学生了解脚本系统在工业自动化领域的应用及其重要性。

技能目标:1. 学生能独立进行WinCC脚本编程,实现对工业数据的实时监控和分析。

2. 学生具备运用脚本系统解决实际工程问题的能力,如编写数据处理、设备控制和报警处理等脚本程序。

3. 学生能通过脚本系统与其他模块的协同工作,实现复杂的自动化控制需求。

情感态度价值观目标:1. 培养学生热爱工业自动化事业,关注行业前沿技术,增强科技创新意识。

2. 培养学生具备良好的团队协作精神,能够与他人共同探讨问题,共同进步。

3. 培养学生具备严谨、负责的工作态度,对实际工程问题进行深入分析和持续优化。

本课程针对高年级学生,课程性质为专业核心课,旨在帮助学生掌握WinCC 脚本系统的实际应用,提高解决实际工程问题的能力。

课程充分考虑学生已具备的自动化基础知识,结合实际工程案例,以任务驱动的方式进行教学,使学生在实践中掌握脚本系统的运用。

课程目标的设定遵循具体、可衡量原则,旨在为教学设计和评估提供明确依据。

二、教学内容1. WinCC脚本系统概述- 脚本系统的基本概念- 脚本系统在工业自动化中的应用2. WinCC脚本编程基础- 脚本语言入门- 常用脚本函数与对象- 数据类型、变量与运算符3. 数据处理与监控- 实时数据读取与写入- 数据处理与转换- 数据报警与事件处理4. 设备控制与脚本应用- 设备控制脚本编写- 控制逻辑与流程控制- 脚本调试与优化5. 脚本系统综合应用- 脚本系统与其他模块的协同工作- 实际工程案例分析与实施- 项目实践与成果展示教学内容依据课程目标进行选择和组织,保证科学性和系统性。

教学大纲明确教学内容安排和进度,结合教材章节进行详细规划。

wincc-全套脚本总结

wincc-全套脚本总结
"data_FLAG",1
)
}
-------------------------------------
——————7、对话框调用——————
BOOL A;
BOOL B;
}
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
return 0;
}
=====================================================
int value;
value=GetTagBit("IM_in");//"IM_in"为触发的变量。
if(value==1)
{
SetVisible("lianxi.pdl","按钮8",TRUE);//lianxi.pdl为控制对象所在画etVisible("lianxi.pdl","按钮8",FALSE);//lianxi.pdl
SetPropWord(lpszPictureName,"qushi","ValueAxisEndValue",Hi);
————————————————————————
——————4、获取位号————————
SetTagChar("TrendTagName1","ProcessValueArchive\\PT111");//Return-Type: BOOL

WinCC V7.0 SP2 脚本系统介绍高级培训

WinCC V7.0 SP2 脚本系统介绍高级培训
For internal use only / ?Siemens AG 2011. All Rights Reserved. Industry Sector
ANSI - C 脚本概述
• C 脚本使图形和过程动态化是通过使用函数和动作实现的,如下图所示:
标准函数
• •
函数是一段代码,可在多处使用,但只能在一个地方定义。WinCC 包括许多函 数。函数一般由特定的动作来调用。此外,用户还可以编写自己的函数和动作。 动作用于独立于画面的后台任务,例如打印日常报表、监控变量或执行计算等。 动作由触发器启动。
For internal use only / ?Siemens AG 2011. All Rights Reserved. Industry Sector
深入探讨 WinCC 脚本( C 和 VBS )
• 使用动态对话框、动态向导、 C 脚本、VBS 脚本分别实现动态改变对象 的背景颜色。
方法一 使用动态对话框。根据变量值设置矩形的背景颜色,并且可以根据该变量的状态 指定特定的颜色。缺点是只能分配一个变量。 方法二 使用动态向导 [标准动态] / [基于表格的颜色动态]。针对不同的颜色需要分别设 定表达式或变量。针对变量连接错误,单独分配了一种颜色。使用掩码筛选条件,例如, xxxxxx01 代表只要变量最末两位是 01 的即可满足条件。缺点是第一次组态时不是很容易 上手,需要理解各项的含义。 方法三 使用 C 脚本。使用 C 脚本比较灵活,本例中使用动态向导生成的 C 脚本即可满 足要求(推荐)。首先使用 GetTagDWordState 获取指定变量的状态,如果返回值是非 0 (0=No error),返回错误时对应的颜色;否则,根据变量的值,返回相应的颜色。 方法四 使用 VBS 脚本。可以根据不同的变量值设置矩形的背景颜色,使用质量代码来 判断变量的状态信息,代码逻辑与 C 脚本类似。

wincc wscriptshell对象使用

wincc wscriptshell对象使用

WinCC 是 Siemens 的一种工业自动化控制系统。

WinCC 提供了 WScriptShell 对象,可以用来在脚本中执行 Windows 操作系统的一些命令。

在 WinCC 的脚本中使用 WScriptShell 对象,你可以执行一些系统操作,例如运行外部程序、创建快捷方式、访问网络资源等。

以下是一个简单的示例,展示如何使用 WScriptShell 对象在 WinCC 脚本中执行一个外部程序:
vbs复制代码
Dim shell
Set shell = CreateObject("WScriptShell")
' 执行外部程序
shell.Run "C:\Path\to\your\program.exe", 1, True
在这个示例中,我们首先创建了一个 WScriptShell 对象。

然后,使用 Run 方法来执行指定的外部程序。

Run 方法的第一个参数是要运行的程序路径,第二个参数是窗口样式(1 表示窗口最大化,0 表示隐藏窗口),第三个参数 True 表示程序执行完毕后自动关闭。

除了 Run 方法,WScriptShell 对象还有其他一些方法可以用于执行系统操作。

你可以根据具体需求选择适当的方法。

请注意,使用 WScriptShell 对象时需要谨慎处理输入参数和输出结果,确保脚本的安全性和稳定性。

另外,由于涉及系统操作,请确保你了解相关操作的风险和后果,并在测试和部署脚本时格外小心。

wincc-脚本大全

wincc-脚本大全
if (RetMsg==IDOK)
{
SetTagBit("TJ_ANNIU",1);
MessageBox (hwnd, "停机", "停机警告", MB_OK|MB_SYSTEMMODAL|MB_SETFOREGROUND);
SetTagBit("TJ_ANNIU",0);
}
else B=0;
}
else
————————————————————————
——————4、获取位号————————
SetTagChar("TrendTagName1","ProcessValueArchive\\PT111");//Return-Type: BOOL
SetTagSWord("TrendHi",200);
SetTagSWord("TrendLo",0);
z=GetTagBit("202搅拌机运行"); //取得PLC搅拌机的运行状态
if(z!=0)
{
switch(y)
{
case 0:
x=x-4;
if(x<=0)
y=1;
break;
default :
x=x+4;
if(x>=25)
y=0;
break;
}
}
return x;
}
——————12、运行时图形产生动态旋转——————
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char*

wincc-全套脚本总结

wincc-全套脚本总结

——————1、wincc全局脚本动作-------隐藏控件——————#include "apdefap.h"int gscAction( void ){// WINCC:TAGNAME_SECTION_START// syntax: #define TagNameInAction "DMTagName"// next TagID : 1// WINCC:TAGNAME_SECTION_ENDint value;value=GetTagBit("IM_in");//"IM_in"为触发的变量。

if(value==1){SetVisible("lianxi.pdl","按钮8",TRUE);//lianxi.pdl为控制对象所在画面名,“按钮8”为对象名称}else{SetVisible("lianxi.pdl","按钮8",FALSE);//lianxi.pdl}// WINCC:PICNAME_SECTION_START// syntax: #define PicNameInAction "PictureName"// next PicID : 1// WINCC:PICNAME_SECTION_ENDreturn 0;}=====================================================说明:在触发器里选择变量IM_in——————2、wincc全局脚本动作----提示框——————#include "apdefap.h"int gscAction( void ){// WINCC:TAGNAME_SECTION_START// syntax: #define TagNameInAction "DMTagName"// next TagID : 1// WINCC:TAGNAME_SECTION_ENDint value;value=GetTagBit("IM_in");if(value==1){MessageBox(NULL,"请确认三厅相关门是否关好,或者请解锁。

wincc 全套脚本总结

wincc 全套脚本总结

} -------------------------------------
——————6、时间同步——————
void SetCpuTime() { #pragma code("kernel32.dll"); void GetLocalTime(SYSTEMTIME *lpst); #pragma code(); SYSTEMTIME time BOOL ret; //printf("Start function SetCpuTime\r\n"); GetLocalTime(&time); ret= SetTagMultiWait("%d%d%d%d%d%d%d",
"data_FLAG",1
) }
-------------------------------------
——————7、对话框调用——————
BOOL A; BOOL B; HWND hwnd=NULL; int RetMsg; A=GetTagBit("TJ_ANNIU"); //Return-Type: BOOL hwnd=FindWindow(NULL,"WinCC-运行系统 - "); if (A==0)
MB_OK|MB_SYSTEMMODAL|MB_SETFOREGROUND); SetTagBit("TJ_ANNIU",0);
} else B=0; } else { } ------------------------------------------
——————8、声音报警——————
#pragma code("Winmm.dll") VOID WINAPI PlaySoundA(char* pszSound,char* hmode,DWORD dwflag); #pragma code()

WinCC VBS脚本

WinCC VBS脚本

WinCC 例程分析
脚本系统 VBS脚本 变量读写 调试诊断 例程分析
例程: 变量读写 属性——返回值/Item 线程 描绘曲线
14
IS Sales TAS 2012.02 / TECH Talk / For internal use only.
Thank you!
IS Sales TAS 2012.02 / TECH Talk / For internal use only.
会被加载。
▪ 模块越大,包含的过程越多,模块加载的时间就越长。
▪ 需要加载的模块越多,运行系统的性能越差。
因此,需要合理地组织模块,将相互关联的过程放在同一模块中。 例如:
▪ 可以把用于特定系统或画面的过程放在一个模块中。
▪ 也可以按照功能来构建模块。比如,把具有计算功能的过程放 在一个模块中。
8
IS Sales TAS 2012.02 / TECH Talk / For internal use on有良好的容错性
IS Sales TAS 2012.02 / TECH Talk / For internal use only.
图形编辑器中的VBS
脚本系统 VBS脚本 变量读写 调试诊断 例程分析
VBS可实现类似ANSI C的功能: ▪ 基于对象(VBS)/基于功能(C)
例如,读变量: VBS代码: Tag.Read C代码: WORD value = GetTagWord(“Tag”)
▪ 再次读取变量时,异步读直接将映像区中的数据返回,变量读取的 时间不受AS系统和总线负载的影响。同步读直接从AS系统读取当前 值,比异步读方式要花费更长的时间。
11
IS Sales TAS 2012.02 / TECH Talk / For internal use only.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

动作 (action)

命令1

命令2

过程C
命令N
模块(module)
过程A
过程B 过程C
命令-A 命令-B
•当调用一幅画面时,需要加载的模块越 多,运行状态下系统的性能越差。 • 模块越大,包含的过程越多,模块加载的 时间就越长。 所以,我们要合理的组织模块。例如,可以 把用于特定系统或画面的过程组织在一个模 块中。我们也可以按照功能来构建模块,例 如,可以把具有计算功能的过程放在一个模 块中。 SIMATIC HMI WinCC V6.2
IPC RI 20
CS
OPEN
RT
yyy.pdl Event
Trigger
SetTagxxxWait(Soll_Temp2,T_Soll); <90>
Application GraphicsRT
Write tag once
Data manager
Soll_Temp2 90 . .
1x
Acknowledgement
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
Trigger Types: •Acyclic Triggers •Cyclic Triggers •Tag Triggers
During the first call:
Cyclic Triggers Æ Step by step
Cyclic Triggers
Announce all tags
Data manager
Ist_Temp1 . . .
2 sec
81
SIMATIC HMI WinCC V6.2
2007年 4 月 20
SIMATIC WinCC 人机界面
The Way GetTagxxx Works with an Event as Trigger
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
Standard Functions(标准函数) *包含用于WinCC编辑器、报警、存档等。
Internal Functions(内部函数) *C语言常用函数。
Action (动作功能) 用户创建,不由其它C脚本中调用,与其它函数不同,它是 由其它判断出发的: *Acyclic(非周期) –根据日期和时间调用一次。 *Cyclic(周期)每小时、天、秒等。 *Tag Triggered(变量标签触发) – 当绑定的标签变化时触发。
自动化与驱动集团
VBScripting
Visual Basic 可以 可以 是 WinCC运行环境(RT) 图形编辑器;全局脚本 WinCC组态环境(RT) 图形编辑器;变量(tags ); C-Script 和ODK
SIMATIC HMI WinCC V6.2
2007年 4 月 14
自动化与驱动集团
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
CS
RT
OPEN
yyy.pdl Properties
Default tr. e.g. 2 sec I1=GetTagxxx(Ist_Temp1); <81> return();
2sec
Application GraphicsRT
Announce all tags
通过其它应用程序扩展WinCC的功能 VBA是一个开放的解决方案:不仅能访问WinCC对象,也同时能访
问其它具有COM组件的应用
ANSI-C和ODK仍然可用
应用举例
用户自定义的快速配置对话框 增加用户自定义的菜单项 添加用户自定义对象时自动生成变量、消息和归档变量 变量的合法性测试 导入外部数据来自动生成图形 以任意格式导出图形
SIEMENS
zzz.pdl
SICOMP IPC RI 20
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
CS
RT
OPEN
yyy.pdl Properties
Tag trigger 2 sec <81>I1=GetTagxxx(Ist_Temp1);
><Ist_Temp1
return();
Application GraphicsRT
过程D 过程E
2007年 4 月 11
Visual Basic for Applications(VBA)
自动化与驱动集团
SIMATIC WinCC 人机界面
是Microsoft用来拓宽标准应用的功能,以及 对标准应用进行客制化的解决方案
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
图形编辑器中集成的VBA的功能
运行机理
WinCC V6.0 VBA Object model in WinCC
VBA和VBS的区别
VBA
语言 可调试 可访问其他应用程序 WinCC已集成功能 适用范围 可访问对象
功能近似于
Visual Basic
可以
可以

WinCC 组态环境(CS) 图形编辑器 WinCC组态环境(CS) 图形编辑器;变量(tags );报警;归档;文本; 动态向导和ODK
Functionality of the GetTag x Functions
SIMATIC WinCC 人机界面
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
SIMATIC HMI WinCC V6.2
2007年 4 月 15
Defining and Using Triggers
SIMATIC WinCC 人机界面
联接Office应用(Excel, Word, Access)
读写变量、启动报表
连接数据库
易于学习 SI程MAT序IC H有MI W良inC好C V的6.2 容错性
自动化与驱动集团
2007年 4 月 7
SIMATIC WinCC 人机界面
Visual Basic Script
举例(图形系统和全局脚本)
.
.
1x
SIMATIC HMI WinCC V6.2
自动化与驱动集团
2007年 4 月 17
SIMATIC WinCC 人机界面
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
The Way SetTagxxxWait Works (Synchronous)
SIEMENS
SICOMP
zzz.pdl
SIEMENS
SICOMP IPC RI 20
zzz.pdl
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
CS
RT
OPEN
yyy.pdl Event
Trigger
<81> I1=GetTagxxx(Ist_Temp1);
SIMATIC HMI 人机界面
自动化与驱动集团
SIMATIC WinCC - 脚本系统 A&D AS Cui Wei
SIMATIC WinCC 人机界面
WinCC的脚本系统
自动化与驱动集团
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
¾整个WinCC系统通过完整和丰富的编程系统实现 了双向的开放性。
SIMATIC HMI WinCC V6.2
自动化与驱动集团
2007年 4 月 18
SIMATIC WinCC 人机界面
自动化与驱动集团
The Way GetTagxxx Works with the Event Name Default Trigger
SIEMENS
zzz.pdl
SICOMP IPC RI 20
运行机理
嵌入函数



用户函数


动作
SIMATIC HMI WinCC V6.2
自动化与驱动集团
内部函数
标准函数 内部函数 项目函数 DLL函数 全局动作
本地动作
2007年 4 月 5
函数分类:
自动化与驱动集团
SIMATIC WinCC 人机界面
Project Functions(项目函数) *可生成全局访问的C函数。
Tag Triggers
SIMATIC HMI WinCC V6.2
自动化与驱动集团 Tag Triggers Æ together
2007年 4 月 16
SIMATIC WinCC 人机界面
The Way SetTagxxx Works (Asynchronous)
SIEMENS
zzz.pdl
SICOMP IPC RI 20
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
CS
RT
OPEN
yyy.pdl Event
Trigger
SetTagxxx(Soll_Temp2,T_Soll); <90>
Application GraphicsRT
Write tag
once
Data manager Soll_Temp2
.
90
Example: Set my_Soll1=HMIRuntime.Tags("Soll1")
SIMATIC HMI WinCC V6.2
2007年 4 月 10
SIMATIC WinCC 人机界面
脚本系统 C 脚本 VBS 脚本 VBA 脚本
运行机理
自动化与驱动集团
VBScript-过程(Procedures),模块(modules)和动作 (atcion)
相关文档
最新文档