作为西门子产品的技术支持工程师是如何学习和理解产品的?下面分享一下我个人学习WinCC产品的经验。
*,自动化行业涉及面广,要学的东西非常多。而西门子产品又是博大精深。单就SCADA软件WinCC来讲不但体系结构复杂,选件众多。如图1和图2所示。
图1. SIMATICWinCC体系结构
图2.SIMATICWinCC选件和附加件
作为该产品的技术支持工程师,不但要掌握主要产品,还要逐步熟悉和掌握周边的诸多选件。并且每天面对不同的问题,需要快速准确的给出答案。这非常考验工程师的知识体系和学习能力。
作为技术支持工程师,我通常会从四个方面去理解一款产品。它们分别是原理、细节、趋势和市场需求。
需要掌握原理。在学习产品时明白了原理就可以做到高屋建瓴,并快速抓住关键点。曾经有个问题,如果让你来设计组态软件可能包含哪些内容?当时我刚接触组态软件,于是基于之前开发windows程序的经验。感觉一个组态软件应该包括:用于和控制器通信的驱动程序、用于显示的界面、必要的报警系统、数据存储、当然还有各个环节的诊断功能等等。现在看来考虑的很不周全。这个思路我认为是可以借鉴的。从原理和架构出发能让我们全面的分析问题,不至于只见树木不见森林。
那么细节就不重要了吗?其实在项目中恰恰是通过一个一个细节的处理,来保证终的成功。所谓细节定成败。对技术支持工程师来讲,对细节的掌握情况可以反映出工程师熟悉产品的程度。比如当我们知道WinCC后台有个SQLSERVER数据库后,那么什么条件下可以存储数据、如何计算存储空间的大小、如何设定存储时间的长短、如何备份和链接历史数据、如何查询和显示历史数据等等一系列的问题,都需要通过软件的各个界面、菜单和工具进行设置。这些都是非常细节化的内容。而熟悉和了解产品的细节是应对日常工作*的条件。
如果说对原理和细节的掌握能够让我们熟悉当前的产品,那么对技术趋势的关注则能帮助我们更好地理解产品的更新。作为技术支持工程师需要有一定的技术敏感度。说白了就是不但要了解产品的前世和今生,还要思考一下产品可能的未来。记得WinCC刚发布WebUX时,我们就一时间做了测试。并且对涉及到的HTML5、SVG、安全认证等周边知识做了了解。因为,随着智能设备的普及,这必将是一个趋势。在该选件推出之前,我们曾经做过智能终端通过RDP方式远程访问WinCC的主题介绍。现在技术成熟了,应用场景也有了,产品自然也就发布了。因为平时保持对相关知识的关注,作为技术支持的工程师也就很容易理解新产品的功能、定位和实现方法。
后一个是市场。市场是个很玄的东西,好像和做技术的关系不大。技术支持工程师如果有这种思想那就错了。因为产品是要推向市场的,市场的技术需求终又会传递到技术支持层面上来。作为技术支持工程师了解市场是很有必要的。比如说:WinCC有个选件叫Audit,它是专门针对食品药品行业满足FDA等相关法律法规认证而发布的。早几年一年也就有一两个客户问这方面的内容。而现在几乎每天热线上都有好几个相关的问题。为什么会出现这种情况呢?因为食品药品安全越来越重要,国家的法规越来越严格。市场上产品需求多了,产品的技术支持需求也就多了。如果提前捕捉到这个信息,提前熟悉Audit等相关产品。这样,当需求大规模爆发的时候。就能从容应对。其实,从市场传导到技术支持层面是一个相对缓慢的过程,作为技术支持工程师如果关注市场的变化,是有足够的时间提前储备技术知识的。
介绍完了学习的思路。下面来看看如何着手学习WinCC这个产品。对于初学者来讲,如果有项目、有师傅那就跟着项目跟着师傅学好了。对于不具备条件的,建议看看西门子*发布的《西门子SIMATIC WinCC使用指南》,前三章可以熟悉产品的架构和原理,能够满足简单的入门。后面的内容当手册。遇到了相关的问题可以有针对性的进行查找和学习。很适合做项目时当个手边书用。
后的后是工程师要有分享精神。工控行业是个涉及面很广的行业。每个人不可能掌握所有的知识。掌握了也很难记住所有的细节。交流和分享非常重要。作为西门子的技术支持工程师,这些年不只是“知识的搬运工”,也发布了很多本地化的文档和视频。所有这些内容,均可在中获得。推荐大家遇到问题,可以先访问以上网站。必有收获。
说明 SMW1150 EM 总线插槽 1 供应商 ID: 如果存在 Siemens EM,则设置为 0x002A;如果没有EM,则设为 0x0000 SMB1152 至 SMB1171 EM 总线插槽 1 订货号 (MLFB): ASCII字符,在字段中左对齐,用空格补位 SMB1172 至 SMB1187 EM 总线插槽 1: 序列号: ASCII字符,在字段中左对齐,用空格补位 SMW1188 EM 总线插槽 1 硬件版本: 表示硬件版本;范围 = 0x0001 至0xFFFD(0x0000、0xFFFE 和 0xFFFF 是保留值) SMD1190 EM 总线插槽 1 固件版本: 字节 0 是ASCII“V”;字节 1 = 功能版本;字节 2 = 次要更改版本;字节 3 = 错误修补版本(字节 1-3 的范围 = 0x00至 0xFF) SMW1194 EM 总线插槽 1 固件版本计数器(范围 0x0000 至 0x00FF) SMW1196保留,始终为 0x0000 SMW1198 EM 总线插槽 1 设备类型: I/O = 0x0003,通信 =0x0004,所有其它值保留
常用特殊存储器位 在系统符号表中,完整列出了可用于您的项目的预定义特殊存储器程序符号。 表格 E- 1 常用特殊存储器位 SM地址 系统符号名称 说明 SM0.0 Always_On 始终接通 SM0.1 First_Scan_On 仅在扫描周期接通SM0.2 Retentive_Lost 如果保持数据丢失,接通一个扫描周期 SM0.3 RUN_Power_Up 从上电进入 RUN模式时,接通 1 个扫描周期 SM0.4 Clock_60s 针对 1 分钟的周期时间,时钟脉冲接通 30 s,断开 30 s。SM0.5 Clock_1s 针对 1 s 的周期时间,时钟脉冲接通 0.5 s,断开 0.5 s。 SM0.6 Clock_Scan扫描周期时钟,一个扫描周期接通,下一个扫描周期关断 SM0.7 RTC_Lost如果实时时钟设备的时间被重置或在上电时丢失(导致系统时间丢失),则该位将接通一个扫描周期。该位可用作错误存储器位或用来调用特殊启动顺序。 SM1.0 Result_0 特定指令的操作结果 = 0 时,置位为 1 SM1.1Overflow_Illegal 特定指令执行结果溢出或数值非法时,置位为 1 SM1.2 Neg_Result当数学运算产生负数结果时,置位为 1 SM1.3 Divide_By_0 尝试除以零时,置位为 1 SM1.4Table_Overflow 当填表指令尝试过度填充表格时,置位为 1 SM1.5 Table_Empty 当 LIFO 或 FIFO指令尝试从空表读取时,置位为 1 SM1.6 Not_BCD 尝试将非 BCD 数值转换为二进制数值时,置位为 1 SM1.7Not_Hex 当 ASCII 数值无法被转换为有效十六进制数值时,置位为 1