-
从小白到新手,从入门到放弃
O(∩_∩)O
西门子
Wincc
新手入门
1
.
西门子
Step7
和
Winc
c
通讯搭建
1.1
Step7
新建一个项目
1.2
建立和
Wincc
的通讯
1.3
画面编辑及测试
2
.
Win
cc
画面制作
--
窗口的使用
2.1
整体规划
2.2
画面切换
2.3
画面下拉菜单跳转画面
2.3
画面弹出窗口
3
.
Win
cc
画面制作
--
动态变化
3.1
多个位置变化
3.2
位置动态变化
3.3
驱动跟踪
4
.
Win
cc
画面制作
--
报警
4.1
WinccAlarmControl
控件使用
4.2
语音报警
5
.
Win
cc
画面制作
---C
脚本的使用
p>
5.1
调用同一个窗口画面实现不同的指令功能
5.2
对按钮做密码保护
5.3
截取字符串
5.4
数据限幅
< br>5.5
保存数据至
TXT
文件<
/p>
使用环境:
Win7 32
位操作系统
Step7 V5.5
S7- Plcsim V5.4
Wincc V7.2
以上均为破解版
O(
∩
_
∩
)O~
1
从小白到新手,从入门到放弃
O(∩_∩)O
1.
西门子
Step7
和
Wincc
通讯搭建
p>
1.1
Step7
新建一个项目:
打开
Step7
,新建一个
< br>S7-300
站,简单做一个硬件配置,此处以
CPU3
15-2
PN/DP
为例,此
CPU
可以通过
MPI,DP
或者以太网用<
/p>
S7-PLCSIM
模拟,如下:
在
p>
OB1
中简单添加一段程序:
p>
M0.0
通时,
把
MD100
赋值给
MD200
,不通是
赋给
MD204
下载到
PLCSIM
就可以仿真了,在下图的
Modify
可以任意赋值:
2
从小白到新手,从入门到放弃<
/p>
O(∩_∩)O
1.2
建立和
Wincc
的通讯
新建一个
Wincc
的工程,打开变量管理:
选择“添加新的驱动程序”
->S7 Protocol
Suite
,然后新建一个
TCP/IP
连接
当然,
建立
MPI
或者
Profibus
p>
都是可以的,此处我是通过
TCP
建立
p>
STEP7
和
PLCSIM
通
讯的,因此
Wincc
也通
过以太网通讯。
在
TCP
/IP
属性选择
PLCSIM(TCP/IP)
并且
在
NewConnec
tion_1
的属性根据实际填写参数,
IP
< br>就是
CPU
的
IP
,机架号
0
,插槽
2
,如下:
3
<
/p>
从小白到新手,从入门到放弃
O(∩_∩)O
设置完成后,在右边添加变量,一个
BOOL
量,
2
个浮点数,名字可以和
Step7
中定义
的不同,但地址就是
在
Step7
中建立的变量地址:
4
从小白到新手,从入门到放弃<
/p>
O(∩_∩)O
1.3
画面编辑及测试
新建一个画面,并设置为启动画面
编辑画面,此处新建了一个输入输出域,在它的输入输出属性的输出一栏编写代码,
p>
并设置触发器:
点击设置触发器
当
p>
M0.0
触发时,
显示
MD200
,否
则显示
MD204
5
从小
白到新手,从入门到放弃
O(∩_∩)O
同理,对闪烁进行设置:
当
MD200
或
者
p>
MD204
大于
100
时闪烁
最后,通过仿真测试效果:
下图是<
/p>
M0.0
不同的情况,
MD200
为
40
,
MD204
为
50
,那么此时画面应该显示
50
并
且不闪烁:
至此,
W
incc
和
PLC
通过仿真器建立好通
讯了,接下来所有的测
试例子均基于此。此处
1.3
仅用来测试通讯,可以直接
PASS
掉。
6
从小
白到新手,从入门到放弃
O(∩_∩)O
2.
Wincc
画面制作
--
窗口的使用
2.1
整体规划
新建主画面,并作为起始画面。
1.
右击计算机
右击,选择此选项
另外,设置画面最
大最小等
,
如下设置:
3.
选择图形运行系统
2.
选择属性
4.
选择需要的参数
然后,对主画面
MainScreen
进行编辑。
p>
7
<
/p>
从小白到新手,从入门到放弃
O(∩_∩)O
此处整体大小根据自己电脑来设置,
我们分为上中下三块
,
分别连接
UP
.PDL,
以及
,
同样的,这些画面需要新建。
1.1
在窗口属性
连接
UP
.PDL
UP
.PDL
1.
新
建<
/p>
画
面
窗
口
1
,
调整大小
p>
2.1
在窗口属性连
接
2.<
/p>
新
建
画
面
窗
口
2
,
调整大小
p>
3.
新
建
画
面
窗
3.1
在窗口属性连
口
3
,
调整大小
接
p>
然后对每个画面进行编辑,这里每个画面的大小需设置成和在
Mai
nScreen
里
面画面窗口的大小一致。
p>
中
间
画
面
8
从小白到新手
,从入门到放弃
O(∩_∩)O
上
画
面
UP
.PDL
下
画
面
此时,运行效果图如下:
当然,
这个画面窗口对象也可以嵌套使用,比如下面我们在中间画面上再加一个画面窗口:
9
从小白到新手,从入门到放弃<
/p>
O(∩_∩)O
p>
同样的,新建画面窗口连
接
Middle_
中
间
画
面
p>
中
间
上
画
面
Middle_
此时运行效果如下:
红色框:对象名称:画面窗口
1(<
/p>
在
上
)
,连接
UP
.PDL
黄色框
:对象名称:画面窗口
2(
在
)
上,连接
它又包
含了紫色框:对象名称:画面窗口
1(
在
上
)
,连接的
Middle_
绿色框:画面窗口
3(
在
)
上
< br>,
连接
这个就
是整体框架,后续所有的画面切换都基于此。此例中我们都是切换的中间画面
(对象名称
:画面窗口
2
)
,当然其它画面窗口也
是同样道理。
10
从小白到新手,从入门到放弃
O(∩
_∩)O
2.2
画面切换
我们在上文的
画面已经做了
5
p>
个按钮,下面通过
5
个按钮来实现
画面间的切换,并且在切换时,我们可以选择需要切换的画面,此例中,
UP
.PDL
和
是不会改变的,只改变
。
首先,新建
5
个画面,简单做下编辑,同理,<
/p>
这个大小需要设置成和主画面中
的中间画面大小一致,因为我们接
下来就是要把中间画面切换。
然后依次对每个按钮编写如下代码:
画面<
/p>
1
的
C
代码
p>
11
从小白到新手,从入门到放弃
p>
O(∩_∩)O
画面
2
的
C
代码
中
间主画面的
C
代码
画面
3
的<
/p>
C
代码
12
从小白到新手,从入门到放弃
p>
O(∩_∩)O
#define
PIC_0
#define
PIC_1
OpenPicture(PIC_0);
SetPictureName(PIC_0,
画面窗口
2
,PIC_1)
;
画
面
4
的
C
代码
以下对部分代码说明:
定义主画面和需要跳转的画面,方便后面复制粘贴
^-^
p>
打开
PIC_0,
也就是
< br>
这个是切换画面:设定
画面窗
口
2
的填充画面为
PIC_1
前面已经说过我们的
MainScreen
是
有上中下三部分组
成的,
画面窗口
p>
2
就是中画面的对象名称
p>
画面窗口
2
的对象名称
效果如下,以
2
个画面为例:<
/p>
13
从
小白到新手,从入门到放弃
O(∩_∩)O
点击画面
1
点击画面
2
这里我们看到上和下画面是固定不变的,
中间画面改变了,
由
于我们的中间画面上又嵌
套了一个画面,因此我们也可以让中间画面的上画面在切换时不
发生改变。
14
从小白到新手,从入门到放弃
O(∩
_∩)O
我们稍微改下画面
3
,如下:
在
HMI3
上也加个画面窗口,连接
Middle_
最后效果图如下:
启动画面
15
从小白到新手,从入门到放弃
O
(∩_∩)O
画面
4
画
面
3
多了中间的上画面
16
从小白到新手,从入门到放弃
O
(∩_∩)O
2.3
画面下拉菜单跳转画面
以主画面按钮为例,现在点击主画面会弹出下拉框选择
2
个中一个画面跳转。
点击主画面按钮,跳出菜单框,再点击隐藏:
修改按钮,看上去像下拉菜单
^-^
跳出的
2
个子菜单
我们需要新建
1
个画面
Manu1,
并且在
Mai
nScreen
加一个画面窗口,连接到
Manu1
。
然后更改主画面按钮的代码,
使其点击一下跳出菜单,
再点击一下隐藏,
最后在跳出
的菜单
选择需要跳转的画面(新建
Menu1
< br>和
Menu2
作为菜单
1
和菜单的画面)
。
17
从
小白到新手,从入门到放弃
O(∩_∩)O
Manu1,
这个的大小需要和
p>
MainScreen
里
面
新
建
的
Manu1
画面窗口一致
此位置决定了点击跳出菜单栏
p>
的位置,
因此想要弹出在主画面
按钮的上方
,
这个窗口就要计算
好位置
窗口对象名字
按钮代码:取代之前跳转画面,改为显示菜单栏
获取
Manu1
状态
p>
若状态为
1
,则隐藏,反之则显示
18
从小白到新手,从入门到放弃
O(∩_∩)O
Man
u1
和
Manu2
,因为最终也是显示
在主画面的中画面上,因此大小需要
和
这个窗口对象大小一致
分别对菜单
1
和菜单
2<
/p>
按钮进行编程,以菜单
1
按钮为例:
p>
p>
隐藏
Manu1
菜单栏
在
MainScreen
上
把
Menu1
显示在中画面上
效果如下:
19
从小白到新手,从入门到放弃
O(∩_∩)O
2.4
画面弹出窗口
上文第四点其实也提到过,这里再单独举个例子。
新建画面如下:
p>
我们此例在
HMI1
中制作,因此在
HMI1
中添加一个按键及窗口对象:
窗口对象,连接到
按钮
p>
这个画面窗口的对象名称,我们定义为
MessgeBox
,编程要用到
20
从
小白到新手,从入门到放弃
O(∩_∩)O
< br>对按钮添加
C
代码:
Set
TagChar(
弹出窗
1
这里我们定义了一个内部变量为
Name1,
给
Name1
赋值为
弹出窗<
/p>
1
,
这个可以写静态值无需连接变量,下
文会讲
SetVisible(PIC_0,
在
PIC_0
画面显示
窗口对象名称为
MessgeBox
p>
的画面
关于变量连接,可以参考我的另一篇
---------- S
tep7
及
Wincc
新手入门教程。
对画面窗口参数设置:
正常隐藏
弹出框的标题开启
弹出框允许关闭
连接的画面
21
< br>从小白到新手,从入门到放弃
O(∩_∩)O
此处可直
接写名称
这里就是用的背部变量来改变名字,可
以直接写,就不需要写
SetTagChar
函数
效果图如下:
此时弹出框的位置为前面添加的画面窗口的位置,
如果要改变的话,
我们需要更改画面
窗口的位置或
者用函数来定位。
22
从小白到新手,从入门到放弃
O(∩
_∩)O
p>
1.
改变此画面窗口的位置,
弹出框
就相应改变
2.
添加此段代码来改变位置
获
取
当
前
窗
口
X,Y
轴位置,然<
/p>
后
在
这
个
基
础
上
调
整
再
次
赋
给画面窗口,
实
际上就是方法
1
的
调
整
画<
/p>
面
窗
口位置
效果如下:
23
从小白到新手,从入门到放弃
O(∩_∩)O
3.
Wincc
画面制作
--
动态变化
3.1
多个位置变化
如下所示,给圆
三个位置,分别为上
中下,当前位置为(
X=330,Y=460
)
,
当上位置信号触发,
Y<
/p>
就变为
300
,中间位置触发
Y
变为
380
,不在任意
一个位置
Y
变成
530
,且圆变成红色,其它三个位置为绿色。
24
在属性的位置
Y
添加代码如下:
此为
Wincc
添
加的变量和
PLC
的变量
方法不再赘述
从小白到新手,从入门
到放弃
O(∩_∩)O
主要说下表达式含义:
'HMI_U
pPos'+2*'HMI_MidPos'+4*'HMI_DownPos'
虽然
每个变量都是
BOOL
量,但是在选择数据类型的时候我们可以
选择模拟量:
< br>然后对此定义范围,如下我们看到有
5
个范围:
p>
0---------------
不在任意一个位置,定义
Y=530
1---------------
就是当
HMI_UpPos
变量为
1
时,也就是在上位置,定义
Y=300
2---------------
就是当
HMI_Mid
Pos
变量为
1
时,也就是在中位置,
定义
Y=380
3--------------
不在任意一个位置,定义
Y=530
4----
-----------
就是当
HMI_DownPos
变量为
1
时,也就是在下位置,定义
Y=460
其它
-------------
-
表达式的值不等于上述任意值,
Y=530
数值范围共
6
项,
若去掉
0
和
3
,
会发现当表达式等于
0
或
3
的时
候达不到要求
……
p>
那么问题来了,既然只有
3
个位置,数值范
围可以取“等于
1
”
“等于
2
”
“等于
4
”和“其它”
4
项吗,而不是上述的
6
项,
测试了下,发现不行,只有
4
项的话“等于
0
”
和“等于
3
< br>”不会默认属于其它里面,也就无法显示在本来对于的位置。
同样的,对颜色变化做相应处理:
25
从小白到新手,从入门到放弃
O
(∩_∩)O
效果如下:
1.
当上
位置信号触发时对于的位置及颜色
2.
当中位置信号触发时对于的位置及颜色
3.
当下位置信号触发时对于
的位置及颜色
4.
此为上和中信号同时触发时的状态
其它错误情况状态也是如此
26
从小白到新手,从入门到放弃
O
(∩_∩)O
3.2
位置动态变化
还是以上述圆为例,
希望它可以从下面直线的一端走到另一端
< br>(
X
位置从
330
到
1130
)
。
330
在程序中添加如下代码:
1130
给一个初始值
330
,然后以
1
秒
的速度往前
走
p>
30
,直到过
了
1
200
,在回到
330
方便观察,我们强制一个初始值
330
效果不做成动态没法体现
,将就看下:
MD10=450
时的位置
27
从小白到新手,从入门到放弃
O(∩_∩)O
< br>HMI
上对位置
X
我们选择直连
如下:
另外不要忘记设置触发器
点击设置触发器
28
从小白到新手,从入门到放弃
O(∩_∩)O
3.3
驱动跟踪
1.
新建棒图
2.
棒图方向设置为右
3.
图中选项颜色设置为透明
4.
全局
颜色方案为否,不然会有明显边框
上述的圆已经实现位置移动,那么再做个进度条实现从
0
到
100%
填充。
此处我们利用棒图实现,参数设置如下:
这个全局颜色方案一般都设置否,有的时候在其它动态
显示里发现颜色不改变很大可
能就是这个没设置。
29
从小白到新手,从入门到放弃
O(∩_∩)O
30
5.
最大最小值及零点设定,方便处理,我们设置为
0-100
6.
为了看上去像进度条,我们把范
围隐藏掉
7.
最后效果如下:
-
-
-
-
-
-
-
-
-
上一篇:凯立德导航图资各个文件作用详解
下一篇:描写有趣的游戏的作文五篇