为了适应多种的 ANSI-C 编译器,SmartPLC在提供时给各户前考虑到了移植的需要,并且适应所有的编译平台, SmartPLC 的时时运行系统包括了所有的函数功能块,函数,数据定义,结构定义。
特点
OpenPCS 的运行实时系统包括: 用于调试工具,运行实时系统的源代码,开发文档。并且该软件包可以在几乎所有的用户硬件上并完整的支持 IEC 61131-3 编辑器。有了这个运行实时系统就可以和上位机的OpenPCS相配合完成客户的应用程序的编程。
交付的产品
目标系统由以下部分构成:
运行实时系统或称SmartPLC 的源代码 是标准的 ANSI-C代码。
通信部分的源代码提供了完整的接口,但是有些部分需要根据客户的硬件来添加部分功能。
软件使用手册,软件结构说明,接口定义说明,软件使用说明。
680μs Motorola 68376/20MHz
490μs Infineon 80C167/20MHz
14μs Intel Pentium II/300MHz
以上所有的测量结果都是基于本地代码的执行模式,对于测试所占用的内存大小也是和所用到的C编译器有关系,这些代码的大小可以在OpenPCS编译过程中通过简单的设置来实现。 编译后的代码量如下:
使用8-位单片机的控制器编译后的代码量为: 50kB。
使用32-位单片机的控制器编译后的代码量为 120kB。
(下位机的时时操作系统环境包括了:通信函数和功能块函数 )
SmartPLC 运行时时系统
SmartPLC运行时时系统 是以标准的 ANSI-C代码提供的。
控制器的程序执行效能
程序的效能和提供的资源很大程度上决定于控制器本身的硬件结构,比如对于1KB的混合结构的执行,对于不同的硬件平台的执行效率如下:
680μs Motorola 68376/20MHz
490μs Infineon 80C167/20MHz
为了适应多种的 ANSI-C 编译器,SmartPLC在提供时给各户前考虑到了移植的需要,并且适应所有的编译平台, SmartPLC 的时时运行系统包括了所有的函数功能块,函数,数据定义,结构定义。 在线编译模式提供了包括:下载,上载,远程控制,变量观察,变量修改,程序状态指示等多种功能。
特点
SmartPLC 的源代码在交付时包括了对硬件描述文件,因此可以很方便的移植到客户的硬件平台上。所提供的源代码都是以标准C文件件和头文件H文件提供的。不含有任何库文件和不对客户开放的代码。 系统还包括了标准的V24 串口通讯协议,由于提供了所有的源代码,客户拥有了所有代码的修改权限,可以根据需要来订制自己的产品。 所有的源代码只能在客户方内部使用,不能被该客户泄露给第三方。
OEM 接口工具包
目标系统由以下内容组成:
OEM 接口工具包主要提供OpenPCS编程系统所需要的一系列钩子接口和头文件以及各种库文件。为了升级这些钩子文件和各种模块,系统可以重新构建成一个新的版本的编程系统。通过这些接口工具函数和库文件可以很方便的升级用户的编程系统,因此客户可以通过各种动态链接库文件来订制他们的OpenPCS开发工具。
本地代码编译器
为了满足用户对程序执行速度的需求,本地代码编译器可以将用户的应用程序根据不同的微处理器类型转化成响应的机器码直接执行。本地代码编译器编译 通过上位机的接口和下位机的直接代码联系起来可以获得和机器源码相同的执行效率。本地代码编译器可以广泛的应用于8位到16位的微处理器中。
NCC 编译器的功能
NCC 是用于产生本地代码的编译器,它首先读取程序的通用代码,再根据客户所选用的微处理器生成该处理器可以直接运行的机器代码,相对于通用代码这种可以直接运行的本地代码的执行速度要快很多。 用户程序在编译时都会生成本地代码程序和通用代码程序,但是会根据客户的设定来决定进行那种模式的下载。因为符号的引用参考已经通过编译器在编译的时候生成了,所以程序的编译会更加有效率。 所有的本地代码编译器都专注于某个特定的的处理器结构,因此由于他的专著性也可以被称作显微镜式的优化--只专注于一种类型CPU,只考虑代码的执行效率。本地代码编译器在移植时和用户的硬件平台和程序结合在一起,并且这种结合并不需用用户的操作系统支持。 .
在线和仿真功能
仿真和通信工具将用户的应用程序传递到目标机或模拟器中进行调试或找错,该仿真功能可以方便的控制程序的冷启动,热启动,温启动,单步运行,设着断点,观察变量,变量强制赋值等功能,但是该在线功能只能在Ucode中使用。
开发文档
下位机的运行系统的开发文档会以英文的模式提供,客户可以方便的查阅所有函数应用或者进行自行修改。