首页 理论教育 对象动态化举例:实现Python程序高度定制化

对象动态化举例:实现Python程序高度定制化

时间:2023-06-23 理论教育 版权反馈
【摘要】:图10.7表示按简化伸缩系数绘制的分别平行于XOY、XOZ和YOZ三个坐标面的圆的正等轴测投影。如图10.8所示,以XOY坐标面上的圆为例,说明了这种近似画法的作图步骤。点击“确认”按钮,WinCC退出运行系统,点击“取消”按钮,操作无效。图10.9圆柱体的正等轴测图例5作出如图10.10所示圆角的正等轴测图。图7-94 确认“退出WinCC运行”

对象动态化举例:实现Python程序高度定制化

1.组态对话框

“组态对话框”是图形编辑器提供的快速组态工具。当插入的对象具有组态对话框功能时,“组态对话框”窗口将会自动打开,用户可以快捷地为对象的特定属性连接变量,设置属性参数。具有组态对话框功能的对象有:

●智能对象中有控件、I/O域、棒图、图形对象、状态显示、文本列表。

●窗口对象中有按钮滚动条

注意:在图形编辑器的菜单栏中,选择“工具”→“设置”→“选项”命令,激活“使用组态对话框”,这样才能在插入智能对象和窗口对象时自动弹出“组态对话框”,或者在右键单击对象时能够选择“组态对话框”。

有些场合应用“组态对话框”设置对象属性时具有更多的灵活性。例如用“组态对话框”可以设置“输入/输出域”为“输入”、或“输出”、或“输入/输出”三种类型,而用“动态对话框”组态“输入/输出域”时只能作为输出使用。

【例7-1】画面切换按钮。

物料灌装自动生产线的监控系统设计了5个过程画面,除了“参数设置画面”设计成画中画,其他4个画面需要在各自画面的按钮区放置画面切换按钮,这样才能在系统运行后切换显示不同的过程画面。

在初始画面中,选择“对象选项板”→“窗口对象”→“按钮”,并放置到画面的按钮区。在弹出的“按钮组态”对话框中输入文本“运行画面”,设置字体、颜色等属性。点击978-7-111-35042-2-Chapter07-60.jpg按钮,在弹出的“画面”对话框中选择单击按钮时打开的画面“运行画面”。用相同的方法添加“趋势视图”、“报警画面”和“初始画面”按钮,分别连接到“趋势视图画面”、“报警画面”和“初始画面”,如图7-44所示。

978-7-111-35042-2-Chapter07-61.jpg

图7-44 设置画面切换“按钮”的“组态对话框”

利用对齐板设置4个按钮大小一致、等间距对齐。

将4个画面切换按钮复制到每个过程画面的按钮区,并将切换到本画面的按钮的“允许操作员控制”属性设置为“否”,按钮上的文字变为灰色,使切换到本画面的操作无效,如图7-45所示。

978-7-111-35042-2-Chapter07-62.jpg

图7-45 设置操作无效的按钮

保存所有画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-63.jpg按钮运行项目,观察画面切换结果。

提示:鼠标选中对象选项板中的某个工具,右键点击“属性”,对该工具的属性作设置,以后应用该工具时将具有相同的属性。

【例7-2】输入/输出域。

应用“输入/输出域”显示现场的过程值,如空瓶数、成品数、液位值等。

在运行画面中,选择“对象选项板”→“智能对象”→“输入/输出域”放置到现场画面区。在弹出的图7-46所示的“I/O域组态”对话框中点978-7-111-35042-2-Chapter07-64.jpg按钮,选择需要连接的变量“成品数”。设置“输入/输出域”的类型、显示数字的字体大小、字体、颜色等属性。

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-65.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,改变成品数MW32的值,观察运行画面“输入/输出域”中成品数的数值变化。

【例7-3】棒图。

应用棒图实时显示灌装罐中液位的状态。

在运行画面中,选择“对象选项板”→“智能对象”→“棒图”,并放置到现场画面区。在弹出的图7-47所示的“棒图组态”对话框中点击978-7-111-35042-2-Chapter07-66.jpg按钮,选择需要连接的变量“实际液位值”,设置棒图的最大值和最小值。在对象属性中还可以设置“颜色”和“轴”等参数。

978-7-111-35042-2-Chapter07-67.jpg

图7-46 设置“输入/输出域”的“组态对话框”

978-7-111-35042-2-Chapter07-68.jpg

图7-47 设置“棒图”的“组态对话框”

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-69.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,改变灌装罐实际液位值MD60的数值,观察“棒图”填充量的变化。

2.变量连接

将对象的某个物理属性与变量进行连接,变量的值直接传递给对象的属性,使对象的某个物理属性动态化。

在对象属性窗口的“属性”选项卡中,选中想要动态化的对象属性,右键单击“动态”列上的白色灯泡,在快捷菜单中选择“变量...”命令,在弹出的“变量-项目”窗口中选择需要连接的变量,“动态”列上的绿色灯泡和连接的变量名称简要说明了利用变量连接进行动态化的过程。图形编辑器中的默认触发器设置将用作更新周期。

【例7-4】显示属性。

在运行画面中,灌装位置接近开关没有检测到瓶子时,灌装位置上的瓶子不显示,只有在瓶子到达灌装位置时,瓶子才显示。即要求在画面中,变量“灌装位置”为1时,瓶子显示;变量“灌装位置”为0时,瓶子不显示。

在运行画面中右键单击传送带上灌装位置的瓶子,在快捷菜单中选择“属性”命令,打开“对象属性”对话框,如图7-48所示。在“属性”选项卡中选择“其他”,在右侧窗口中设置“显示”的静态属性为“是”。右键单击“显示”属性“动态”列上的白色灯泡,在快捷菜单中选择“变量...”命令,在弹出的“变量-项目”窗口中选择连接的变量“灌装位置”。

978-7-111-35042-2-Chapter07-70.jpg

图7-48 应用“变量连接”组态瓶子的“显示”属性

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-71.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,观察灌装位置瓶子的显示情况。

【例7-5】闪烁属性。

在运行画面中,当灌装罐的液位值低于下限时,实际液位值“输入输出域”显示的数值闪烁作报警提示。

在运行画面中右键单击实际液位值“输入输出域”对象,在快捷菜单中选择“属性”命令,打开“对象属性”对话框,如图7-49所示。在“属性”选项卡中选择“闪烁”,在右侧窗口中设置“激活闪烁文字”的静态属性为“否”,右键单击“激活闪烁文字”属性“动态”列上的白色灯泡,在快捷菜单中选择“变量...”命令,在弹出的“变量-项目”窗口中选择连接的变量“液位值过低”。设置“闪烁文字颜色关”为红色,“闪烁文字颜色开”为黒色,“文本闪烁频率”为中等。

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-72.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,改变实际液位值MD60的数值,观察当实际液位值过低时,液位显示值的闪烁情况。

【例7-6】填充量。

为了演示应用“变量连接”使对象属性“填充量”动态化,设计一个椭圆、一个滚动条和一个内部变量,并将椭圆的填充量和滚动条两个属性与同一个内部变量连接。

在变量管理器的内部变量文件夹中新建“FillLevel”内部变量,数据类型为“无符号8位数”。

978-7-111-35042-2-Chapter07-73.jpg

图7-49 应用“变量连接”组态液位值的“闪烁”属性

新建一个test画面,选择“对象选项板”→“标准对象”→“椭圆”,并放置到现场画面区。右键单击椭圆,在快捷菜单中选择“属性”命令,打开“对象属性”对话框,如图7-50所示。在“属性”选项卡中选择“填充”,在右侧窗口中设置“动态填充”的静态属性为“是”,“填充量”的静态属性为“30”,右键单击“填充量”属性“动态”列上的白色灯泡,在快捷菜单中选择“变量...”命令,在弹出的“变量-项目”窗口中选择连接的内部变量“FillLevel”。在“属性”选项卡中选择“颜色”,在右侧窗口中设置“背景颜色”为绿色。

978-7-111-35042-2-Chapter07-74.jpg

图7-50 应用“变量连接”组态椭圆的“填充量”属性

在test画面中,选择“对象选项板”→“窗口对象”→“滚动条”,并放置到现场画面区。在弹出的图7-51所示的“滚动条组态”对话框中点击978-7-111-35042-2-Chapter07-75.jpg按钮,在弹出的“变量-项目”窗口中选择连接的内部变量“FillLevel”。设置“最大值”、“最小值”和“步长”的限制值。

保存test画面,点击图形编辑器工具栏中的“激活”978-7-111-35042-2-Chapter07-76.jpg按钮运行该画面,拖动画面中的滚动条,观察椭圆填充量的变化情况。

3.动态对话框

如果需要执行范围选择、状态判断、函数运算等复杂控制,则可以借助动态对话框来连接所要动态化的属性。

动态对话框如图7-52所示,其选项与设置说明如下:

978-7-111-35042-2-Chapter07-77.jpg

图7-51 设置“滚动条”的“组态对话框”

978-7-111-35042-2-Chapter07-78.jpg

图7-52 “动态对话框”设置窗口

①事件名称。设置触发器的周期。如果没有设置触发器,则由系统指定触发事件的默认值。默认值取决于动态对话框中公式表达式的内容。单击978-7-111-35042-2-Chapter07-79.jpg按钮,打开“更改触发器”对话框,如图7-53所示。在“事件”区域选择所期望的触发器事件,在“周期”区域中选择所期望的周期时间。对于触发器事件“标准周期”、“画面周期”和“窗口周期”,可在“触发器名称”域中输入触发器的指定名称。

②表达式/公式。指定用于控制对象属性的表达式。可以给出多个变量的运算关系。如算术运算(加+、减−、乘*、除/)和逻辑运算(与&&、或||、非!)。可以直接输入表达式,也可以使用978-7-111-35042-2-Chapter07-80.jpg按钮直接将变量、函数和操作数添加到表达式中。单击图7-52中的“检查”按钮,对表达式的语法进行检查。

978-7-111-35042-2-Chapter07-81.jpg

图7-53 更改触发器的周期

③表达式/公式的结果。设置与“数据类型”相关的对象的属性。

④数据类型。有4种数据类型可供选择,分别如下:

模拟量:可定义模拟量限制值内的多个数值范围的状态。

●布尔型:用“真/假”语句定义两种状态。

●位:定义某个字节(或字或双字)的一个位,其状态确定了将被控制的属性值。

●直接:将动态表达式的值用做属性值(与“变量连接”不同的是只能用于输出量)。

⑤变量状态。用于监视运行系统中WinCC变量的状态。

⑥质量代码。用于监视运行系统中WinCC变量的质量代码。

下面是“动态对话框”4种数据类型的应用实例。

(1)模拟量

【例7-7】棒图的颜色设置。

在运行画面中,设置棒图的显示颜色,变量“实际液位值”≤200时为橙色,200<“实际液位值”≤800时为绿色,“实际液位值”>800时为红色。

在运行画面中右键单击棒图,在快捷菜单中选择“属性”命令,打开“对象属性”对话框,如图7-54所示。在“属性”选项卡中选择“颜色”,在右侧窗口中右键单击“棒图颜色”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-55所示的“动态值范围”窗口中选择数据类型为“模拟量”,点击978-7-111-35042-2-Chapter07-82.jpg按钮连接变量“实际液位值”。在“表达式/公式的结果”区点击“添加”按钮,添加变量值的分段范围,设定不同的颜色。“数值范围1”表示“实际液位值”在0~200之间时棒图颜色为橙色,“数值范围2”表示“实际液位值”在200~800之间时棒图颜色为绿色,“其他”表示“实际液位值”在大于800时棒图颜色为红色。

978-7-111-35042-2-Chapter07-83.jpg

图7-54 应用“动态对话框”组态“棒图颜色”

978-7-111-35042-2-Chapter07-84.jpg

图7-55 设置“棒图”的显示颜色

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-85.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,改变灌装罐液位值MD60的数值,观察棒图颜色的变化情况。

【例7-8】显示液位值提示信息。

在运行画面中,设置静态文本的显示内容,变量“实际液位值”≤200时显示“液位过低”,200<“实际液位值”≤800时显示“液位正常”,“实际液位值”>800时显示“液位过高”。

在运行画面中添加“静态文本”,右键单击“静态文本”,在快捷菜单中选择“属性”命令,打开“对象属性”对话框,如图7-56所示。在“属性”选项卡中选择“字体”,在右侧窗口中设置“文本”的静态属性为“液位正常”,右键单击“文本”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-57所示的“动态值范围”窗口中选择数据类型为“模拟量”,点击978-7-111-35042-2-Chapter07-86.jpg按钮连接变量“实际液位值”。在“表达式/公式的结果”区点击“添加”按钮添加变量值的分段范围,设定不同的文本显示内容。“数值范围1”表示“实际液位值”在0~200之间时显示文本为“液位过低”,“数值范围2”表示“实际液位值”在200~800之间时显示文本为“液位正常”,“其他”表示“实际液位值”在大于800时显示文本为“液位过高”。

978-7-111-35042-2-Chapter07-87.jpg

图7-56 应用“动态对话框”组态“静态文本”

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-88.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,改变灌装罐液位值MD60的数值,观察静态文本显示内容的变化情况。

(2)布尔型

【例7-9】生产线运行指示灯。

978-7-111-35042-2-Chapter07-89.jpg

图7-57 “模拟量”设置“静 态文本”的显示内容

在运行画面中,放置一个指示灯,当生产线运行时显示绿色,生产线停机时显示红色。

在运行画面中添加一个圆作为指示灯,右键单击“指示灯”在快捷菜单中选择“属性”命令,打开“对象属性”对话框。如图7-58所示,在“属性”选项卡中选择“颜色”,在右侧窗口中设置指示灯“背景颜色”的静态属性为绿色。右键单击“背景颜色”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-59所示的“动态值范围”窗口中选择数据类型为“布尔型”,点击978-7-111-35042-2-Chapter07-90.jpg按钮连接变量“生产线运行”,在“表达式/公式的结果”区设定指示灯的显示颜色,“是/真”表示变量“生产线运行”为1时指示灯显示绿色,“否/假”表示变量“生产线运行”为0时指示灯显示红色。

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-91.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,启动或停止生产线运行,当生产线运行状态发生改变时,观察指示灯颜色的变化情况。

978-7-111-35042-2-Chapter07-92.jpg

图7-58 应用“动态对话框”组态指示灯

【例7-10】文本显示内容。

在运行画面中,设置静态文本的显示内容,“运行模式”显示当前系统处于手动模式还是自动模式,“控制方式”显示当前系统处于就地控制还是远程控制。

978-7-111-35042-2-Chapter07-93.jpg

图7-59 “布尔型”设置“指示灯”的显示颜色

在运行画面中添加“静态文本”,其静态属性显示“运行模式”。右键单击“运行模式”文本框,在快捷菜单中选择“属性”命令,打开“对象属性”对话框。如图7-60所示,在“属性”选项卡中选择“字体”,右键单击“文本”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-61所示的“动态值范围”窗口中选择数据类型为“布尔型”,点击978-7-111-35042-2-Chapter07-94.jpg按钮连接变量“手动/自动选择”,在“表达式/公式的结果”区设定不同的文本显示内容,“是/真”表示变量“手动/自动选择”为1时显示文本“自动模式”,“否/假”表示变量“手动/自动选择”为0时显示文本“手动模式”。

978-7-111-35042-2-Chapter07-95.jpg

图7-60 应用“动态对话框”组态“运行模式”

用同样的方法组态静态文本“控制方式”,连接布尔型变量“就地/远程选择”,“是/真”表示变量“就地/远程选择”为1时显示文本“远程控制”,“否/假”表示变量“就地/远程选择”为0时显示文本“就地控制”。

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-96.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,改变运行模式和控制方式,观察静态文本显示内容的变化情况。

(3)位

【例7-11】运输车去料仓取料。

配送中心有5个料仓,利用选项组控制运输车停在不同的料仓取不同的料。

978-7-111-35042-2-Chapter07-97.jpg

图7-61 “布尔型”设置“静 态文本”的显示内容

新建一个“取料位置”变量MB91,数据类型为无符号8位数。

在test画面中一字排开放置5个料仓,每个料仓下面放置一辆运输车,如图7-62所示。设置每个位置运输车的显示属性,连接“取料位置”变量MB91的对应位。右键单击A号料仓下的运输车,在快捷菜单中选择“属性”命令,打开“对象属性”对话框。如图7-63所示,在“属性”选项卡中选择“其他”,在右侧窗口中右键单击“显示”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-64所示的“动态值范围”窗口中选择数据类型为“位”,点击变量选择978-7-111-35042-2-Chapter07-98.jpg按钮连接变量“取料位置”,点击位地址选择978-7-111-35042-2-Chapter07-99.jpg按钮,在弹出的“位选择”对话框中选择第0位。在“表达式/公式的结果”区设置显示属性,“置位”表示M91.0为1时运输车显示,“未置位”表示M91.0为0时运输车不显示。

978-7-111-35042-2-Chapter07-100.jpg

图7-62 运输车取料画面

978-7-111-35042-2-Chapter07-101.jpg

图7-63 应用“动态对话框”组态运输车显示属性

978-7-111-35042-2-Chapter07-102.jpg

图7-64 组态运输车显示属性的位地址

应用同样的方法组态B料仓、C料仓、D料仓和E料仓下面的运输车,显示属性分别连接到“取料位置”变量的第1位M91.1、第2位M91.2、第3位M91.3和第4位M91.4。

在test画面中放置一个“选项组”,选择“对象选项板”→“窗口对象”→“选项组”放置到现场画面区。右键单击“选项组”,在快捷菜单中选择“属性”命令,打开“对象属性”对话框。在“属性”选项卡中选择“几何”,在右侧窗口中设置“框数量”为5。在“属性”选项卡中选择“字体”,在右侧窗口中设置“索引”和“文本”的对应关系,如图7-65所示,索引1的文本为“A料”,索引2的文本为“B料”,索引3的文本为“C料”,索引4的文本为“D料”,索引5的文本为“E料”。在图7-66所示的“属性”选项卡中选择“输入/输出”,右键单击“选择框”属性“动态”列上的白色灯泡,在快捷菜单中选择“变量...”命令,在弹出的“变量-项目”窗口中选择连接的变量“取料位置”。

978-7-111-35042-2-Chapter07-103.jpg

图7-65 组态“选项组”的“字体”属性

保存test画面,点击图形编辑器工具栏中的“激活”978-7-111-35042-2-Chapter07-104.jpg按钮运行该画面,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行。在画面的选项组中分别选择取A料、B料、C料、D料和E料,观察运输车停放位置的变化情况。

【例7-12】设置工位指示灯。

一条生产线有8个工位,每个工位对应一个指示灯。当工件到达某个工位时,相应的指示灯闪烁。如果8个指示灯建立8个外部变量,将占用较多的外部变量数。应用“动态对话框”的“位”功能,可以用一个“工位指示灯”变量代替8个“指示灯”变量。

978-7-111-35042-2-Chapter07-105.jpg

图7-66 组态“选项组”的“输入/输出”属性

新建一个“工位指示灯”变量MB90,数据类型为无符号8位数。(www.xing528.com)

在test画面中一字排开画8个圆作为“工位指示灯”,设置每个指示灯的闪烁属性,连接“工位指示灯”变量MB90的对应位。右键单击1号工位的指示灯,在快捷菜单中选择“属性”命令,打开“对象属性”对话框。如图7-67所示,在“属性”选项卡中选择“闪烁”,在右侧窗口中右键单击“闪烁背景激活”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-68所示的“动态值范围”窗口中选择数据类型为“位”,点击变量选择978-7-111-35042-2-Chapter07-106.jpg按钮连接变量“工位指示灯”,点击位地址选择978-7-111-35042-2-Chapter07-107.jpg按钮,在弹出的“位选择”对话框中选择第0位。在“表达式/公式的结果”区设置“闪烁背景激活”属性,“置位”表示M90.0为1时1号工位的指示灯激活背景闪烁,“未置位”表示M90.0为0时1号工位的指示灯不激活背景闪烁。在“属性”选项卡中选择“闪烁”,在右侧窗口中设置“闪烁背景颜色开”为绿色,设置“闪烁背景颜色关”为白色,设置“背景闪烁频率”为中等。

978-7-111-35042-2-Chapter07-108.jpg

图7-67 组态“位置指示灯”的“闪烁背景激活”属性

应用同样的方法组态2号工位指示灯至8号工位指示灯,“闪烁背景激活”属性分别连接到“工位指示灯”变量MB90的第1位M90.1至第7位M90.7。

保存test画面,点击图形编辑器工具栏中的“激活”978-7-111-35042-2-Chapter07-109.jpg按钮运行该画面,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行。改变工位指示灯变量MB90各位的状态,观察各个位置指示灯的闪烁情况。

978-7-111-35042-2-Chapter07-110.jpg

图7-68 组态位置指示灯闪烁属性的位地址

(4)直接

【例7-13】液罐透明窗口显示液位状态。

在灌装罐上开矩形窗口,能够看到罐中液位的状态。由于矩形的填充量是按百分比计算的,因此不能直接将实际液位值(0~1000mm)与矩形的“填充量”属性相连接,需要进行换算,用除法运算得到对应填充量的百分数,“实际液位值”/10。

在运行画面的灌装罐上添加一个矩形,打开矩形的“对象属性”对话框。在“属性”选项卡中选择“颜色”,在右侧窗口中设置矩形窗口“背景颜色”的静态属性为橙色。如图7-69所示,在“属性”选项卡中选择“填充”,在右侧窗口中设置“动态填充”的静态属性为“是”,“填充量”的静态属性为“60”。右键单击“填充量”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-70所示的“动态值范围”窗口中选择数据类型为“直接”,在“表达式/公式”栏中输入计算公式:“实际液位值”/10。

978-7-111-35042-2-Chapter07-111.jpg

图7-69 组态“矩形”的“填充量”属性

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-112.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,改变实际液位值MD60的数值,观察灌装罐上矩形窗口填充量的变化情况。

【例7-14】液位显示位置跟随液位移动。

在灌装罐的矩形窗口旁边显示实际液位值,且显示数值的位置随液位高低的变化而上下浮动。这就要求对液位值的高度Y作动态化。以图7-71为例,液罐矩形窗口的位置坐标X=510,Y=180,高度=120。液位值的范围为0~1000。则:

显示数值的位置=Y+高度−“变量”×高度/最大液位值

=180+120−“实际液位值”×120/1000

=300−“实际液位值”×0.12

978-7-111-35042-2-Chapter07-113.jpg

图7-70 “直接”设置“矩形”的填充量

978-7-111-35042-2-Chapter07-114.jpg

图7-71 液位值高度位置关系图

在灌装罐的矩形窗口旁边添加“输入/输出域”,在弹出的“I/O域组态”对话框中点击978-7-111-35042-2-Chapter07-115.jpg按钮,选择需要连接的变量“实际液位值”。设置“输入/输出域”的类型、显示数字的字体大小、字体、颜色等静态属性。打开“输入/输出域”的“对象属性”对话框,如图7-72所示,在“属性”选项卡中选择“几何”,在右侧窗口中右键单击“Y位置”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-73所示的“动态值范围”窗口中选择数据类型为“直接”,在“表达式/公式”栏中输入计算公式:300-‘实际液位值’×0.12,将运算结果送给“输入/输出域”的显示位置Y。

978-7-111-35042-2-Chapter07-116.jpg

图7-72 组态“输入/输出域”的“位置Y”属性

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-117.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序,改变实际液位值MD60的数值,观察灌装罐上液位值显示位置的变化情况。

978-7-111-35042-2-Chapter07-118.jpg

图7-73 “直接”设置“输入/输出域”的位置Y值

4.直接连接

直接连接用于对对象的事件属性进行设置,当事件发生时会完成相应的动作。直接连接的优点是组态简单,运行系统中的时间响应快。

直接连接的组态窗口如图7-74所示,左侧是“源”,包括常量、属性和变量等源元素;右侧是“目标”,包括当前窗口、画面中的对象和变量等目标元素。如果事件在运行系统中发生,则源元素的“数值”将直接连接到目标元素。

978-7-111-35042-2-Chapter07-119.jpg

图7-74 “直接连接”的组态窗口

前面列举的动态化实例都是监视现场运行情况。在“直接连接”应用举例中,介绍控制现场运行的实例。一是设置运行参数,二是启动/停止设备运行。

【例7-15】显示画中画。

为了在上位机上设置运行参数,设计一个“参数设置画面”,平时隐藏在运行画面中。当需要设置运行参数时,点击“参数设置”按钮,弹出“参数设置画面”。

在参数设置画面中打开画面的“对象属性”对话框,在“属性”选项卡中选择“几何”属性,设置画面宽度=200、画面高度=250。在画面的下方添加一个按钮,文本为“退出设置”。右键单击按钮,打开“对象属性”对话框。如图7-75所示,在“事件”选项卡中选择“鼠标”,在右侧窗口中右键单击“鼠标动作”属性“动作”列上的白色闪电,在快捷菜单中选择“直接连接”命令。在弹出的“直接连接”组态窗口中,选择将左侧来源“常量0”与右侧目标“当前窗口”的“显示”属性直接连接,如图7-76所示。保存参数设置画面。

978-7-111-35042-2-Chapter07-120.jpg

图7-75 应用“直接连接”组态“退出”按钮的动作属性

978-7-111-35042-2-Chapter07-121.jpg

图7-76 组态关闭“画面窗口”的动作

如图7-75所示,在参数设置画面中放置两个“输入/输出域”,分别连接过程变量“产量设定值”和“温度设定值”,用于PLC的程序控制。在画面中放置一个“选项组”,连接过程变量“罐装时间设置”MB23,可以选择小瓶(M23.0=1)、中瓶(M23.1=1)或大瓶(M23.2=1)。同时要在PLC控制程序中编写对应的指令,设置不同的灌装时间,如图7-77所示。

978-7-111-35042-2-Chapter07-122.jpg

图7-77 设置灌装时间的程序

在运行画面中选择“对象选项板”→“智能对象”→“画面窗口”,并放置到现场画面区,可以覆盖在当前画面的上面。右键单击“画面窗口”,在快捷菜单中选择“属性”命令,打开“对象属性”对话框。在“属性”选项卡中选择“几何”属性,设置画面宽度=210、画面高度=280。如图7-78所示,在“属性”选项卡中选择“其他”,在右侧窗口中设置“显示”的静态属性为“否”,“边框”和“标题”的静态属性为“是”,“画面名称”的静态属性为“参数设置画面”,“标题”的静态属性为“参数设置”。

在运行画面中添加按钮,文本为“设置参数”。右键单击按钮,在快捷菜单中选择“属性”命令,打开“对象属性”对话框。在“事件”选项卡中选择“鼠标”,在右侧窗口中右键单击“鼠标动作”属性“动作”列上的白色闪电,在快捷菜单中选择“直接连接”命令。在弹出的“直接连接”组态窗口中,选择将左侧来源“常量1”与右侧目标“画面中的对象”中“画面窗口1”的“显示”属性直接连接,如图7-79所示。

978-7-111-35042-2-Chapter07-123.jpg

图7-78 组态“画面窗口”的静态属性

978-7-111-35042-2-Chapter07-124.jpg

图7-79 应用“直接连接”组态按下“参数设置”按钮的动作

保存所有画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-125.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序。在运行画面中点击“参数设置”按钮,会出现“参数设置画面”窗口,操作员可以设置运行参数。点击参数设置画面中的“退出设置”按钮,会关闭“参数设置画面”窗口。

【例7-16】远程启动和停止按钮。

为了在上位机上操控设备的运行,在运行画面中添加启动按钮和停止按钮。右键单击“启动”按钮,打开“对象属性”对话框。如图7-80所示,在“事件”选项卡中选择“标”,在右侧窗口中右键单击“按左键”属性“动作”列上的白色闪电,在快捷菜单中选“直接连接”命令。在弹出的“直接连接”组态窗口中,选择将左侧来源“常量1”与右目标“变量”的“远程启动”M1.0直接连接,如图7-81所示。右键单击“释放左键”属“动作”列上的白色闪电,在快捷菜单中选择“直接连接”命令。在弹出的“直接连接”态窗口中,选择将左侧来源“常量0”与右侧目标“变量”的“远程启动”M1.0直接连接如图7-82所示。

978-7-111-35042-2-Chapter07-126.jpg

图7-80 应用“直接连接”组态“启动”按钮的动作属性

978-7-111-35042-2-Chapter07-127.jpg

图7-81 应用“直接连接”组态按下“启动”按钮的动作

978-7-111-35042-2-Chapter07-128.jpg

图7-82 应用“直接连接”组态释放“启动”按钮的动作

用同样的方法组态“停止”按钮,“按左键”时“常量1”与目标“变量”的“远程停止”M1.1直接连接,“释放左键”时“常量0”与目标“变量”的“远程停止”M1.1直接连接。

为了避免设备操作面板上的启动/停止按钮与WinCC过程画面上的启动/停止按钮同时操作可能产生的不安全因素,在操作面板上设置了一个“就地/远程”控制选择开关(I0.5),由开关的状态决定是就地操作有效,还是远程操作有效。

为了协调启动/停止设备运行的“就地和远程”控制,需要修改PLC程序,在FC20(手动模式)和FC30(自动运行)程序块中增加相应的控制指令。

在FC20(手动模式)中增加就地/远程控制模式选择的程序,如图7-83所示。当I0.5=1时“远程控制”有效,Q4.5=1;当I0.5=0时“就地控制”有效,Q4.4=1。

978-7-111-35042-2-Chapter07-129.jpg

图7-83 上位/下位控制模式选择的程序

修改FC30(自动运行),修改后的控制生产线启动/停止的程序如图7-84所示。“就地控制”模式有效时,就地操作面板上的启动按钮(I0.0)和停止按钮(I0.1)可以控制系统的运行。“远程控制”模式有效时,WinCC运行画面上的启动按钮(M1.0)和停止按钮(M1.1)可以控制系统的运行。

978-7-111-35042-2-Chapter07-130.jpg

图7-84 上位/下位均可控制系统启动/停止的程序

保存所有画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-131.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序。当“就地/远程”控制选择开关I0.5=1时,点击运行画面中的“启动”按钮,使生产线运行,点击运行画面中的“停止”按钮,使生产线停止运行。此时,就地操作面板上的启动/停止按钮无效。当“就地/远程”控制选择开关I0.5=0时,点击就地操作面板上的“启动”按钮,使生产线运行,点击就地操作面板上的“停止”按钮,使生产线停止运行。此时,远程WinCC运行画面上的启动/停止按钮无效。

5.C动作

C动作是由函数构成的。可以使用的函数包括系统提供的内部函数、标准函数和项目函数,如图7-85所示。用户也可以根据需要自己编制设计函数。C的函数相当于其他语言中的子程序,可以用函数来实现特定的功能。如果变量连接、动态对话框和直接连接等手段不能解决对象属性动态化的问题,则应使用C动作。

C动作既可用于对象物理属性的动态化,也可用于对图形对象上发生的事件作出反应。

【例7-17】点击按钮在有效与无效之间转换。

在运行画面中放置一个按钮,控制灌装罐排料阀门的打开和关闭。

在前面已经介绍的方法中,如果远程控制阀门的打开和关闭,需要应用两个按钮,一个打开阀门,另一个关闭阀门。现在用C动作实现只用一个按钮就可以控制阀门的打开和关闭。

新建一个“排料阀门”变量Q8.2,数据类型为二进制变量。

在运行画面中添加一个按钮,文本显示“排料阀门开关”。右键单击按钮,在快捷菜单中选择“属性”命令,打开“对象属性”对话框,在“属性”选项卡中选择“字体”,右键单击“文本”属性“动态”列上的白色灯泡,在快捷菜单中选择“动态对话框”命令。在图7-86所示的“动态值范围”窗口中选择数据类型为“布尔型”,点击978-7-111-35042-2-Chapter07-132.jpg按钮连接变量“排料阀门”,在“表达式/公式的结果”区设定不同的文本显示内容,“是/真”表示变量“排料阀门”为1,当前排料阀处于打开状态,点击该按钮的动作应关闭排料阀,所以显示文本为“关闭排料阀门”;“否/假”表示变量“排料阀门”为0,当前排料阀处于关闭状态,点击该按钮的动作应打开排料阀,所以显示文本为“打开排料阀门”。

978-7-111-35042-2-Chapter07-133.jpg

图7-85 C动作编辑窗口

978-7-111-35042-2-Chapter07-134.jpg

图7-86 应用“动态对话框”组态按钮上的“文本”属性

如图7-87所示,在“事件”选项卡中选择“鼠标”,在右侧窗口中右键单击“鼠标动作”属性“动作”列上的白色闪电,在快捷菜单中选择“C动作”命令,打开C动作编辑窗口。

978-7-111-35042-2-Chapter07-135.jpg

图7-87 应用“C动作”组态“排料阀门开关”按钮的动作属性

在C动作编辑窗口中编写如下程序:

978-7-111-35042-2-Chapter07-136.jpg

GetTagBit函数应用如图7-88所示。在左侧窗口选择“内部函数”→“tag”→“get”→“GetTagBit”,在弹出的“分配参数”对话框中选择变量“排料阀门”。

978-7-111-35042-2-Chapter07-137.jpg

图7-88 内部函数GetTagBit的应用

SetTagBit函数应用如图7-89所示。在左侧窗口选择“内部函数”→“tag”→“set”→“SetTagBit”,在弹出的“分配参数”对话框中选择变量“排料阀门”,键入变量值“B1”。

单击工具栏中创建动作978-7-111-35042-2-Chapter07-138.jpg按钮,完成C动作的编辑。如果程序中有错误,会有错误信息提示。单击“确定”按钮,退出C动作编辑。

保存运行画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-139.jpg按钮运行项目,同时在SIMATIC STEP7中打开PLC仿真器,启动CPU运行物料自动灌装生产线程序。点击画面中的“排料阀门开关”按钮,“排料阀门”打开,再点击“排料阀门开关”按钮,“排料阀门”关闭。

978-7-111-35042-2-Chapter07-140.jpg

图7-89 内部函数SetTagBit的应用

【例7-18】设置登录对话框。

WinCC项目属性中,可以设置弹出和退出管理员登录对话框的热键。如果客户不知道热键,则无法登录。

现在在启动画面中设置一个“登录”按钮和一个“退出”按钮。点击“登录”按钮弹出登录对话框,点击“退出”按钮退出登录状态。

组态“登录”按钮的C动作如下:

978-7-111-35042-2-Chapter07-141.jpg

组态“退出”按钮的C动作如下:

978-7-111-35042-2-Chapter07-142.jpg

保存启动画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-143.jpg按钮运行项目。点击画面中的“登录”按钮,弹出系统登录对话框,如图7-90所示,用户可以输入用户名和密码。点击画面中的“退出”按钮,退出登录状态。

978-7-111-35042-2-Chapter07-144.jpg

图7-90 用按钮打开系统登录对话框

6.动态向导

动态向导提供了大量预定义的C动作,它包含了许多动态向导函数。这将减轻频繁重复出现的组态工作,降低发生组态错误的风险。并且这些函数允许用户用自己创建的函数进一步扩充。

【例7-19】设置“退出WinCC运行”按钮。

在启动画面中利用动态向导设置“退出WinCC运行”按钮。选择“对象选项板”→“窗口对象”→“按钮”放置到画面的按钮区。鼠标选中按钮,在图7-91所示的动态向导“系统功能”选项卡中,双击“退出WinCC运行系统”命令,按向导提示完成需要的组态步骤。

978-7-111-35042-2-Chapter07-145.jpg

图7-91 应用“动态向导”组态“退出WinCC运行”按钮

打开“退出WinCC运行”按钮的C动作编辑窗口,可以看到退出WinCC运行系统的函数为DeactivateRTProject()。

保存启动画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-146.jpg按钮运行项目。点击画面中的“退出WinCC运行”按钮,WinCC将退出运行系统。

【例7-20】弹出操作确认对话框。

为了防止有人误操作,在启动画面中点击“退出WinCC运行”按钮时,弹出确认对话框,确认后操作才有效。

鼠标选中“退出WinCC运行”按钮,在动态向导的“图画功能”选项卡中,双击“显示错误框”命令,如图7-92所示。按向导提示在“设置选项”窗口中输入对话框参数,“对话框标题”为“操作提示”,“对话框文本”为“确认要退出吗?”,激活带有“取消”按钮的框,如图7-93所示。

978-7-111-35042-2-Chapter07-147.jpg

图7-92 应用“动态向导”组态“确认对话框”

978-7-111-35042-2-Chapter07-148.jpg

图7-93 设置“确认对话框”的参数

打开“退出WinCC运行”按钮的C动作编辑窗口,添加条件调用退出WinCC运行系统的函数DeactivateRTProject(),修改后的程序如下:

978-7-111-35042-2-Chapter07-149.jpg

978-7-111-35042-2-Chapter07-150.jpg

保存启动画面,点击WinCC项目管理器工具栏中的“激活”978-7-111-35042-2-Chapter07-151.jpg按钮运行项目。点击画面中的“退出WinCC运行”按钮,弹出确认对话框,如图7-94所示。点击“确认”按钮,WinCC退出运行系统,点击“取消”按钮,操作无效。

978-7-111-35042-2-Chapter07-152.jpg

图7-94 确认“退出WinCC运行”

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈