由于组态软件用户的监控需求千变万化,组态软件用户需要一种按照自己的意愿来实现某些特殊需求的方法和手段,一般是通过“脚本”功能。组态软件的“脚本”功能是指通过其提供的一种嵌入到其自身内部的简单编程语言实现基本的程序流程控制手段(比如条件语句)和可执行指令。可执行指令可以划分为两种类型:第一类指令是调用组态软件功能的指令,如打开或关闭画面,第二类指令是与组态软件功能无关的命令,如运算和文件操作等命令。“脚本”极大地增强了组态软件的灵活性,使组态软件能够去适应不同行业、不同用户的千变万化的需求,让用户可以按照自己的意愿来编写自己的逻辑和控制流程。可以说“脚本”是组态软件必不可少的重要功能。
组态软件的“脚本”发展经历过了两个阶段。第一个阶段是组态软件厂商自己定义的类似高级语言,比如C和Basic等的一种简化脚本。为了更好满足用户需求,组态软件厂商需要不断扩充第一类调用组态软件功能的指令和第二类实现其它功能的指令。这一阶段的脚本语言是完全由厂家自定义的语言、语法,是不通用的,非开放性的,用户需要记住和不断翻阅厚厚的指令手册来编写程序,而且无论厂家如何去扩充其指令,特别是第二类实现其它一些通用功能的指令,总是有限的,不可能满足需求复杂的组态软件用户的特别需求,目前国内大部分组态软件和一部分国外组态软件都采用这一“脚本”方式。正是基于这一点,国外一些大的组态软件厂商采用了一些通用的脚本语言作为自己的脚本语言,比如VBA,JavaScript等,这些通用脚本提供的功能相对自定义脚本来说要强得多,这也是目前主流组态软件的做法,属于“脚本”发展的第二个阶段。
但随着信息技术的发展,用户对“脚本”的需求越来越高,有些用户觉得一些通用脚本语言提供的功能还不够强大。不管是用自定义脚本语言还是通用脚本语言所编写的脚本程序,它们都是在工程运行时解释执行,比直接编译成计算机可执行代码的编译性语言效率要低很多,因此都存在功能不够强大、速度慢等一些不足。
为了弥补以上不足,组态软件的最新的发展就是直接嵌入功能强大的标准高级语言,并在工程运行前,直接将用户编写的“脚本”程序,编译成计算机可以执行的代码,将“脚本”程序执行的解释过程在运行之前进行,从而提高“脚本”程序的执行效率。因此,新的“脚本”程序,已经在逐渐脱离“脚本”的定义(注:“脚本”语言的定义就是在运行时需要另外一个程序来解释执行,而不是像其它高级语言程序一样,直接被编译成计算机处理器可执行的代码的一类高级语言)。这也可以定义为“脚本”发展的第三个阶段。
正是基于以上原因,内嵌微软最新高级语言C#,并可将用户编写的代码直接编译为计算机可执行代码的易控(INSPEC)组态软件,不再使用“脚本语言”/“脚本程序”的概念,而是给出了一个全新的概念- “用户程序”。即用户可以在易控中编写自己的真正的计算机程序。
C#是一种为Microsoft全新的.net平台开发而专门设计的程序设计语言,它优雅、简单、安全、性能高、面向对象。其语法风格源自C/C++家族,融合了Visual Basic的高效和C/C++的强大。其优雅的语法风格,创新的语言特性,快速实现应用程序开发,深受世界各地程序员的好评和喜爱。
“易控(INSPEC)”是国内迄今唯一将C#语言嵌入到自己产品中的组态软件,易控除了提供访问其本身功能所必须的“方法”(注:在面向对象时代,“方法”是对传统“指令”或“命令”或“函数”的新称谓)外,用户可以使用标准C#语言提供的所有功能,使用.net Framework提供的数以千计的庞大类库,以及第三方软件提供商提供的类库,即大量已经被其它厂家编写完成并经过其它用户使用的代码都可以直接使用,从而使用户在有特别需求的情况下,可以利用这些成熟代码来编程实现,并将自己的程序嵌入到易控(INSPEC)中运行。同时也为九思易自身帮助用户定制特殊功能扫清了障碍。实际上,易控的功能扩充是没有限制的。
C#语言是彻底的面向对象语言,与目前组态软件中的脚本语言,甚至和许多其它高级语言相比,程序结构都更为清晰,便于维护。简洁、高效、优雅以及其开放性,决定了它将是未来IT业的主流编程语言。
为了避免因为功能的扩充而造成用户编写程序困难,易控(INSPEC)大量地采用了可视化编程等等精心的人性化设计,用户程序代码编辑器提供了工程命令、用户程序可以引用的工程对象、关键字和运算符等窗口用于可视化选择,代码的不同部分采用不同颜色显示,提供智能感知,自动提示用户可选的方法(命令)和属性,导入和导出,语法检查、错误提示等等,极大简化了开发用户程序的难度,尽可能让用户更多关注其所要解决的问题,而不是语言本身。
“易控(INSPEC)”还对用户最可能开发的用户程序,不同的用户程序片段进行了非常好的组织管理,比如按照用户程序执行的触发条件来进行组织,结构清晰,同时简化了对用户程序的管理工作。
“易控(INSPEC)”的C#用户程序,是用户扩展监控系统功能的强大工具,将为用户实现特殊效果和功能,创造前所未有的条件,特别是高级用户,将能随心所欲如虎添翼地编制各种强大的逻辑、动画、算法和操作等功能,同时可以用更精简的代码实现需要大量代码的传统脚本程序。总之,“易控(INSPEC)”的C#用户程序将为用户带来前所未有的超越组态软件的体验。