描述
颜色值是按 RGB(红-绿-蓝)规则汇编的24位的值。 在 WinCC 7.0 及以上版本,除了 RGB 颜色之外,用户可以指定透明色。在 WinCC 7.0,使用的是32位值。下表显示了24位值和32位值的结构。n
字节3 | 字节2 | 字节1 | 字节0 | |
十进制值 | 2^24 =16.777.216 | 2^16 =65536 | 2^8 =256 | 2^0 =1 |
24位颜色值 | 蓝色 | 绿色 | 红色 | |
32位颜色值 (WinCC 7.0和以上版本) |
透明色 | 蓝色 | 绿色 | 红色 |
24位颜色值(color 24) 的计算(由3个单独的颜色值-红、绿、蓝构成)基于以下的公式。 32位颜色值(color 32)计算时额外为透明色(Trans)添加了单独的颜色值。n
|
(2^16)*blue +(2^8)*green +(2^0)*red |
|
(2^16)*blue +(2^8)*green +(2^0)*red |
函数(脚本)
以下文件包含用于计算用户自定义颜色值的函数。n
函数 | 脚本语言 | 描述 |
CreateRGBColor ( 236 bytes ) |
C | 该函数由3个输入值( DWORD 类型)计算颜色值,并返回 RGB 颜色值。n 注意: |
CreateRGBColor ( 241 bytes ) | VBS | |
CreateRGBColor_Tag ( 637 bytes ) | C | 将对应各颜色值的变量名和 RGB 颜色值的变量名传入该函数。脚本将读取各颜色值、计算 RGB 颜色值,并设置变量。n n 注意: 如果需要的是24位颜色值,一定要给“TagNameTrans”参数赋空字符串 ("") 。 |
CreateRGBColor_Tag ( 620 bytes ) | VBS |
注意
如何在 WinCC 7.0 中添加用户自定义的颜色到通用的颜色调色板,或者如何在运行时通过脚本改变对象的颜色,请参见条目 ID33912016。n
示例组态
为了从用户自定义的颜色获取颜色值, 客户可以在 WinCC 的画面中使用如下图所示的滑动条( 仅针对于 WinCC 7.0 )改变红、绿、蓝及透明色的组成。下图中显示了颜色及其计算出的十进制的颜色值。可以使用“Gray”按钮设置颜色值。n
图01n
WinCC画面 (使用 C 函数) | 使用以下版本创建 |
CreateRGBColorV51SP2.PDL ( 16 KB ) (24位颜色值) | WinCC V5.1 SP 2 |
CreateRGBColorV60SP4.PDL ( 29 KB ) (24位颜色值) | WinCC V6.0 SP 4 |
CreateRGBColorV62.PDL ( 32 KB ) (24位颜色值) | WinCC V6.2 |
CreateRGBColorV70.PDL ( 48 KB ) (32位颜色值) | WinCC V7.0 |
示例组态的注意事项:
- 滑动条直接连到相应的变量。n
- 矩形的背景色连接到“Color”变量。n
- 当颜色值(或透明色)改变时,调用 C 动作。动作本身调用“CreateRGBColor_Tag”函数。n
- “Gray”按钮使用“CreateRGBColor”函数,设置“Color”变量到 RGB 颜色 (128,128,128)。
该示例的使用方法如下:
No. | 过程 |
1 | 拷贝画面到 "GraCS" 打开项目文件夹,拷贝相应版本的 WinCC 画面到“GraCS“文件夹。 |
2 | 创建变量 打开 WinCC 资源管理器,在变量管理器中创建5个内部变量(名称:Red、Green、Blue、Transparent、Color),使用数据类型“无符号32位数”。 |
3 | 插入 C 函数
|
4 | 创建 C 动作
|
5 | 设置动作触发器
|
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc333439.html