前言 2 win ce 3tr.beckhoff.com.cn/pluginfile.php/22986/mod... · 第八节 ce...

72
目录 前言 2 第一章 远程连接 WIN CE 嵌入式控制器 3 第一节 控制器 IP 地址分配 3 第二节 TWINCAT 中添加控制器 ADS 路由 6 第三节 通过远程桌面 CERHOST 连接控制器 8 第四节 通过网页界面访问控制器-DEVICE MANAGER 10 第五节 添加路由失败的问题总结 11 第二章 如何往控制器传输文件 14 第一节 通过移动设备传输 14 第二节 通过 FTP 的方式访问控制器 14 第三节 通过控制器默认的共享文件夹方式传输 14 第四节 HARD DISK 中添加共享文件夹 15 第五节 通过 TELNET 访问和传输文件 17 第三章 如何修改控制器默认参数 18 第一节 如何在控制器上安装插件 SUPPLEMENT 18 第二节 如何安装中文字库 19 第三节 修改部分控制器的 CPU 使用率的显示功能 20 第四节 部分控制器的分辨率修改功能的开启 21 第五节 修改 CE 系统中右键弹出菜单 POP-UP MENU 的显示 21 第六节 CE 系统中增加时间的显示 22 第七节 CE 系统的 LOG 功能的开启 23 第八节 CE 系统屏幕休眠功能的开启 24 第九节 CE 系统防火墙的设置 24 第十节 修改默认用户名或者密码 25 第十一节 修改控制器默认启动路径(非推荐方式) 25 第四章 CE 控制器常见应用举例 28 第一节 CE 控制器的中文界面的显示 28 第二节 掉电保持数据的应用 41 第三节 IPC DIAGNOSTIC 控制器设备识别信息等硬件信息的读取和修改 50 第四节 CE IMAGE 的安装 56 第五节 CE 虚拟机的应用 62 第五章 控制器选型须知 72 第一节 存储卡的选择 72

Upload: others

Post on 09-Jan-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

目录

前言 2

第一章 远程连接 WIN CE 嵌入式控制器 3

第一节 控制器 IP 地址分配 3

第二节 TWINCAT 中添加控制器 ADS 路由 6

第三节 通过远程桌面 CERHOST 连接控制器 8

第四节 通过网页界面访问控制器-DEVICE MANAGER 10

第五节 添加路由失败的问题总结 11

第二章 如何往控制器传输文件 14

第一节 通过移动设备传输 14

第二节 通过 FTP 的方式访问控制器 14

第三节 通过控制器默认的共享文件夹方式传输 14

第四节 在 HARD DISK 中添加共享文件夹 15

第五节 通过 TELNET 访问和传输文件 17

第三章 如何修改控制器默认参数 18

第一节 如何在控制器上安装插件 SUPPLEMENT 18

第二节 如何安装中文字库 19

第三节 修改部分控制器的 CPU 使用率的显示功能 20

第四节 部分控制器的分辨率修改功能的开启 21

第五节 修改 CE 系统中右键弹出菜单 POP-UP MENU 的显示 21

第六节 CE 系统中增加时间的显示 22

第七节 CE 系统的 LOG 功能的开启 23

第八节 CE 系统屏幕休眠功能的开启 24

第九节 CE 系统防火墙的设置 24

第十节 修改默认用户名或者密码 25

第十一节 修改控制器默认启动路径(非推荐方式) 25

第四章 CE 控制器常见应用举例 28

第一节 CE 控制器的中文界面的显示 28

第二节 掉电保持数据的应用 41

第三节 IPC DIAGNOSTIC 控制器设备识别信息等硬件信息的读取和修改 50

第四节 CE IMAGE 的安装 56

第五节 CE 虚拟机的应用 62

第五章 控制器选型须知 72

第一节 存储卡的选择 72

前言

倍福的嵌入式控制器 CX 系列是一款性能强大,适用于众多应用场合的紧凑型工业控制器,

这本指导手册意在给刚接触此款控制器的用户一个入门帮助,希望用户能在该手册中找到需

要的信息。

本书主要针对 CE 系统的嵌入式控制器,指导一些常见的问题,但是对嵌入式控制器的型号

和硬件性能等内容将不进行过多的描述和比较,相关技术参数还请参考倍福官网的相关内

容。该手册描述使用的过程中常需要结合使用倍福的编程调试软件 TwinCAT1(2 或者 3),虽

然两个版本在界面上有一些区别,但是功能上基本雷同。

在内容上的安排上,将从一个刚接触 CE 控制器的用户角度着眼,第一章将首先分析控制器

的网络地址 IP,接着从编程电脑2进行远程连接入手,远程连接/路由3的建立是最基本的操

作,建立之后可以修改设备参数或功能,也可以进行编程和控制,在章节的最后会针对一些

连接路由失败的问题进行总结。第二章将介绍向控制器传输文件的几种方式,大家可以在今

后的应用中,通过各种不同方式更好的操作控制器。第三章介绍如何安装插件及修改一些控

制器的标准配置,由于用户在应用的过程中,难免会要修改一些默认的控制器设置,在该章

节将常用的功能的修改做了总结,例如如何修改 CX80xx 系列控制器默认 CPU 负载不显示的

功能,如何修改默认 CX9020 分辨率,如何开启控制器 logger 功能等。第四章将集中详细说

明基于 CE 控制器的一些应用,例如 HMI 的中文显示,掉电保持功能的实现,通过 MDP 进

行控制器信息的读取,CE Image 的安装等,在章节的最后将从用户调试的角度考虑,介绍 CE

虚拟机的应用。最后一章关注到在实际应用的过程中初期的选型常常会对今后的应用有很大

的影响,所以专门拉出来一个章节阐述一些选型相关的内容,初稿将先增加关于存储卡容量

的选型注意事项。

在文档的收集过程中借鉴并采用了不少倍福同事过往的呕心力作,不过在编辑的过程中,由

于个人表达方式的限制,也难免会有一些阐述不清的情况,此文档仅代表个人的观点,希望

读者多提建议和指正。最后需要感谢在文档初稿中给出的建议的同事们,感谢你们可以让该

文档的可读性更高,更专业。如果大家在参考阅读的过程中有任何意见和建议,请不吝赐教,

请发意见或者建议至邮箱:[email protected]

1 TwinCAT 软件,目前包含 TwinCAT 2 和 TwinCAT 3 两个版本,TwinCAT 3 比较 TwinCAT 2 更好的集成了

Visual Studio 的框架和提供了基于 C++的实时核,包含了更多的灵活的功能。 2 编程电脑:即需要与控制器建立路由,并用于之后编程等设置的电脑,这边统称编程电脑。 3 路由:即 ADS 路由,倍福产品内部之间或与与外部设备之间的通讯通道

第一章 远程连接 Win CE 嵌入式控制器

第一节 控制器 IP 地址分配

倍福控制器若无特殊设置一般对外的网口默认采用 DHCP 自动分配的方式获取 IP 地址,通

常为 169.254.xx.xx。网卡的设置可以在开始菜单控制面板 Control Panel找到网络连接

1) 两个网络连接口为内置交换机:该类控制器是带有两个网络接口,但是它们将共用一个

IP 地址,此类控制器一般对外的网卡均采用 DHCP 自动分配的方式,另一个对内的网卡

采用固定 IP 地址的方式:192.168.0.1 并且子网掩码常采用 255.255.255.0,注意:这个

192 的 IP 一定不要随便更改,很有可能会影响 EtherCAT4正常工作。

2) 两个网络接口相对独立:此类控制器两个网卡相对独立,均默认采用 DHCP 自动分配的

方式,EtherCAT 的控制并不与这两个网卡有直接的关系

4 EtherCAT: 倍福的高速总线通讯协议。

控制器在连入局域网之后,只要通讯建立成功,可以看到控制器网络接口灯一个常亮一个闪

烁, 并且在系统中可以看到一个“管道连接“的图标 ,用鼠标双击该图标,可

以看到系统提示窗口显示当前该网口的 IP 地址是多少

连接该控制器的调试设备只需连入该局域网,并且网卡支持 TCP/IP 协议,并建议关闭防火

墙,理论上就应该可以 ping 通控制器。

3) 需要通过拨码协助 IP 地址的设置的网口。例如 CX8090,此类控制器 IP 地址的设置需要

结合硬件上的 DIP-拨码。首先两个网口请先区别开来,一个是连接调试电脑的 FEC1,另

外一个就是下面的两个内置交换机的网络接口。

如果是 10 和 9 都 OFF 的状态,1-8 以某个方式组合方式,那 IP 地址的前三位可以在操

作系统中的设置, DIP1-8 的播码的组合决定最后一位。子网掩码为 255.255.255.0

如果是 10 ON 和 9 OFF,那么 DIP1-8 无论是什么状态,设备的 IP 地址都为 DHCP 自动

分配的,常为 169.254.xx.xx

如果 10 OFF 和 9 OFF,并且 DIP1-8 都为 ON,那 IP 地址就由系统中来设置,同理之前

两种方式。

注意:只要 9 和 10 都是 0ff,网段不变,前三位不变!

(一) 问题 1:调试电脑无法 ping 通控制器,即使按照上面的说明操作也不行

解决方案: 经过观察发现调试电脑包含多个网卡,连接控制器的网卡出现了一个感叹号

-”受限的连接”,这时建议将其他不用的网卡禁止使用,通常这样操作之后就可以 ping 通

或者通过远程连接。

(二) 问题 2:控制器的 IP 地址不记得了

解决方案:如果设备之前连接过控制器,可以用 CERHOST 去连接,用户名采用 CX-xxxxxx5

的方式,也可以在 TwinCAT system manager 广播搜索的时候是用 Wireshark 软件去抓包,需

要注意的是,要用比较新的 TwinCAT 软件,注意 UDP 端口 48898 的。

这个是在用 CERHOST 来加 CX-xxxxxx 路由的时候抓包的情况

5 CX-xxxxxx:CX 的控制器名称默认使用控制器其中一个网卡的物理地址的后六位,例如 CX-153460

第二节 TwinCAT 中添加控制器 ADS 路由

前提:首次在添加设备/控制器路由的时候,建议将编程电脑的防火墙先关闭,默认 CE 控制

器的防火墙是关闭的。

1) 将编程电脑网卡 IP 地址设置在与控制器一致的网段

2) 在 TwinCAT 软件中新建一个 TwinCAT 项目,选择目标设备-Choose Target System, 并在

以太网内广播搜索

3) 对于 TwinCAT 3 还需选定正确的网卡,通过该网卡对控制器进行远程路由的添加。

4) 在 TwinCAT 2 中广播搜索,系统会将扫描到的所有可能设备列表,选中需要建立路由的

设备,建议以 IP 地址的方式添加静态路由6

5) 路由添加需要用户名和密码:CE 默认用户名是 Administrator 密码为空。

6 静态路由:比较稳定的路由方式,出现路由丢失和连不上的问题频率较少。

6) 添加成功之后会在设备名之后显示一个“X”,并且在设备的静态路由表中都可以查询到

相对应设备的信息。

返回上一级的选择目标设备中,可以看到该控制器已经在可选列表中。

点击该设备,选择 OK,可以将当前编程电脑的 TwinCAT 运行环境,切换成远程连接的控制

器,在 TwinCAT 软件右下角将高亮显示该设备的名称及 AMS NetID7 及运行核的状态。

7) 观察静态路由表,已经添加该设备

第三节 通过远程桌面 CERHOST 连接控制器

需确认运行远程桌面应用程序的编程电脑和远程控制器在一个网段,例如 169.254.xx.xx. 最

好知道控制器 IP 地址,并在编程电脑中 ping 一下。 通过可以通过 IP 地址或者设备名(例

如 CX-xxxxxx)的方式添加远程桌面,但是在域名解析有问题的情况下,建议用 IP 地址的方

式添加远程桌面。远程桌面连接的软件 CERHOST 为第三方软件,可以免费从网络上获得,

或者倍福的 FTP 上也可以找到相应的下载连接。

7 AMS NetID: 倍福出厂时分配给设备的名称,用作该设备的标识。

但是有的时候也会出现 ping 是通的但是也加不上远程桌面的情况。

这可能由于倍福新的控制器关闭了远程桌面的功能,可以通过在控制器上外接显示器

1) 运行 输入 explorerOK 进入 CE Harddisk

2) 进入 RegFiles删除 CeRemoteDisplay_Disable.reg 文件

3) 从 Samples\Common 中复制 CeRemoteDisplay_Enable.reg 至 RegFiles

4) 双击运行并重启控制器。

5) 接着控制器重启之后就可以通过之前的方式添加远程桌面

第四节 通过网页界面访问控制器-Device Manager

倍福的大多数控制器从 2015 年开始,都可以从网页通过 UPnP 访问控制器,不能进行访问

的设备请参考官网的说明:

https://infosys.beckhoff.com/content/1031/devicemanager/54043195791373323.html?id=7201

634172045387305

访问设备 URL:http://< 设备的 IP 地址>/config

前提:

1) 调试电脑的防火墙的 80 端口要开启

2) 可以替代设备的 IP 地址用设备的名字例如“CP-xxxxx”,但是如果域名解析有问题的情

况下也有可能不行,故推荐用控制器 IP 地址连接。

访问步骤:

1) 首先在 explorer 输入 URL,例如: http://169.254.139.123/config. 首次登陆需要用户名

和密码。用户名 administrator 如果不用密码登陆是不行的,如果一定要用这个用户名,

请在控制器中为该用户加上密码,否则可以尝试用系统默认的两个用户 guest 和

webguest,密码均默认为“1”。

2) 接着登陆后便可看到下面的界面

该界面中提供了很多的类似控制器控制面板里面的相关信息,还提供例如主板信息,序列号,

CPU 负载率和主板及设备当前温度等信息,而且例如 IP 地址等参数也均可在网页上进行修

改。

第五节 添加路由失败的问题总结

路由添加或者远程桌面添加的过程中常会遇到一些问题,现将可能的原因总结如下:

1) 调试电脑 IP 地址没有和控制器设置在一个网段,很多情况下调试电脑的 IP 从 DHCP 自

动分配的并不在 169.254 的网段,故推荐手动将调试电脑的 IP 地址设置为固定地址,

如:169.254.xx.xx, 并可以先禁用再启用一下该网口,保证网卡的 IP 设置生效。

2) 调试电脑有多个网卡(包括无线网络),请添加路由时禁用其他网卡。

3) 调试电脑关闭防火墙。

4) 若调试电脑曾经连接过该控制器,但是再次添加路由时有超时故障,请删除路由表中的

老路由,因为路由表中的信息冲突也会导致问题。如果在有必要的情况下可以手动删除

控制器的路由表里面的历史路由。接入显示器,点击控制器开始菜单运行 Run输入

regedit进入注册表 HKEY_LOCAL_MACHINE\SOFTWARE\TwinCAT\Remote ,删除除

“LoopBack”以外的所有历史路由,重启控制器。

5) 还有一种相对比较严重的情况就是:由于一些软件的原因控制器不能正常工作了,此时

控制器可能需要回复出厂状态才行,但是这种情况建议先联系倍福技术,确认后再进行

操作,因为若恢复出厂状态,原来可能安装的一些插件可能会丢失,原来运行的程序会

因此受影响无法正常运行。恢复出厂状态的方式: 接入显示设备,点击开始菜单运

行 Run输入 explorer进入 Hard Disk将 Documents and Settings 文件夹重新命名或

者删除重启控制器。

6) 也曾发生过客户用调试电脑通过 TwinCAT 软件接管控制器出现如下的报错,请先确认调

试电脑的 TwinCAT 版本和控制器的 TwinCAT 版本是不是不同,并且调试电脑的版本更

老。一般我们建议调试电脑的 TwinCAT 版本不能老于控制器的 TwinCAT 版本,相同或者

更高均不会出现太大的问题。

7) 也曾发生过客户反映控制器一开始添加不上调试电脑的路由,表现上看可能在重启控制

器后可以添加路由,这种情况有的时候和控制器的 CPU 负载也有一定的关系,若控制

器负载太大,设备无法对 ADS 的其他的要求(例如路由建立等要求)进行及时响应。此

时就需依照现场的情况来进行操作,例如可以在允许的情况下将控制器的 TwinCAT 先切

换到 config 模式8,或者适当的增加 AMS Router memory 的大小,默认为 2M。

8) 另外也不排除网卡网口硬件故障的情况,此种情况请联系倍福的售后服务部门,进行相

关的测试。

9) 最多可以添加多少路由呢:理论上是可以超过 255 个,但是建议不要添加太多,实际中

发现添加超过 20 个以上的时候,连接的时候就会比较缓慢。所以建议调试电脑不用的

路由及时删除,同样对于控制器也是!

8 Config 模式: TwinCAT 软件的一种运行的状态。

第二章 如何往控制器传输文件

第一节 通过移动设备传输

这种方法估计是最简单,也是调试时候最常用的一种方法。但是有的时候在现场,设备已经

安装到控制柜中,可能插拔移动设备的方式受到限制,这时就可以参考下面章节的一些方法

来传输文件。

第二节 通过 FTP 的方式访问控制器

默认 CE 控制器 FTP 的服务是没有开启的,所以如果要用到这个功能需要进入控制器的控制

面板CX-ConfigurationFTP勾选 FTP Server。

重启之后理论上就可以通过 ftp 来访问控制器:ftp://CX-xxxxxx 或者 ftp://<控制器 IP 地址>。

当然这个前提是在路由或者网络连接已经建立的情况,具体建立的方式请参考第一章。

初次从调试电脑登陆的时候需要用户名和密码,此时默认的 Administrator 的用户名由于没

有默认密码不能用来登陆,可用系统默认的“guest”的用户名,密码为“1”。登陆后就可以

将需要的文件直接复制到该界面中即可,下图举例将一个文本文件添加到了 ftp 的路径下,

可以看到控制器 Hard Disk 的 ftp 文件夹中就添加了一个 test 的文本文件。

第三节 通过控制器默认的共享文件夹方式传输

默认控制器均可通过 public 文件夹的方式来传输文件,在调试电脑中登陆:\\CX-xxxxxx,同

样初次登陆需要用户名和密码,建议用默认的“guest”的用户名,密码为“1”。登陆之后就

能看到 public 文件夹,点击进去就可以将需要的文件拷贝进行,唯一要注意的就是这个文件

夹,在下次重启的时候会自动删除里面的内容,请及时转移需要保存的文件。

第四节 在 Hard Disk 中添加共享文件夹

由于默认的 public 文件夹的内容在控制器重启后会删除,这里也介绍一个方法,在 Hard Disk

中添加一个共享文件夹,通过该文件夹共享文件。下面将描述如何添加和设置。

1) 首先在 Hard Disk 中添加一个空的文件夹:例如 Sharefolder

2) 然 后 点 击 控 制 器 开 始 菜 单 运 行 Run 输 入 regedit 进 入 注 册 表

HKEY_LOCAL_MACHINEServiceSMBServerShares。默认可以看到已经有的上一章节

提到的 public 文件夹。Type 为 0 是表示是文件共享,Path 表示共享的路径,UserList 表

示默认定义的可以登录的用户。

3) 不修改默认的设置,添加一个新的键值,例如命名为 MyShare,将来这个名字就会出现

在共享的路径中。

接着为该键值添加相应的的属性:“Type”,“Path”,“UserList”。 Type 类型还用 0,UserList

可以沿用默认值,Path 修改为”\Hard Disk\Sharefolder”

最后属性如下

4) 设置完毕重启,便可以实现从调试电脑访问自己建立的共享文件夹 Sharefolder。并且文

件夹内添加的文件,在设备重启后依旧保存。

第五节 通过 Telnet 访问和传输文件

部分控制器可以实现从 telnet 的访问,有些控制器可能将 Telnet 的功能做了屏蔽,此功能的

开启,可以参考第一章的第三节开启远程桌面功能。默认登录用户名和密码分别是:“guest”

和” 1”, 若是没有密码的,这种情况下是无法通过该用户 telnet 访问的。注意:该功能适用于

熟悉 Telnet 的用户。(此部分将后期增加)

第三章 如何修改控制器默认参数

由于控制器的一些参数在实际使用中常需要修改或者增加某些功能,本章集中将一些常见的

功能修改的操作描述下来,方便用户查阅。常用的一些例如显示时间,中文字体等功能是基

本在所有的控制器都可以实现,但是有些,例如修改显示器的分辨率这样的功能是某些控制

器特定的,所以可能不能在所有的控制器上都实现,关于哪种设备可以做哪些操作,或者操

作的疑难问题,还请参考官方控制器的使用说明或者咨询倍福当地的技术支持。

第一节 如何在控制器上安装插件 supplement

倍福控制器在使用的过程中,如需用到一些特殊的功能,例如常见的全屏显示 PLC HMI,

Modbus TCP Server 等,这些额外的功能往往需要通过安装插件的方式在控制器中加载。一

般 TwinCAT 2 软件的插件,需要独立安装,并且需要额外授权,请通过销售渠道购买,购买

成功后会获得一个安装号,之后用此安装号进行安装。

下面以在编程电脑安装 TwinCAT PLC HMI CE 插件 TS1800-00309为例:

1) 安装条件:

CE 设备内存至少 128M。

使用的 HMI 的版本在 V1.90 或者更高。

对于编程电脑要求 TwinCAT 2 的版本在 V2.10 Build 1242 或者更高。

2) 插件安装成功会在TwinCAT安装目录下“…\TwinCAT\CE \TwinCAT_PLC_HMI_CE\*.cab” 产

生一个应用于 CE 系统的安装包(.cab 格式)。

3) 将 CAB 的安装包拷贝到 U 盘(经 U 盘 / FTP / public 等共享文件夹/ 通过 CF-读卡器10

拷贝均可),接入 CX 控制器,双击并执行文件(在默认的安装路径下即可),完成后会

自动删除 CAB 文件,请重启控制器,使更改生效。

控制器在成功安装完成之后,可通过控制面板 CX Configuration 确认安装是否成功. 可

以看到 TcTargetV.dll

9 插件的订货号请参考倍福官方的订货标准。 10备用小工具:CF 读卡器/CFast 卡读卡器。CX 供货时所有软件和授权已经安装,通常不需要用到 CF 读

卡器。但特殊情况下,比如更新操作系统,批量备份,严重出错处理时,可能会用到 CF 读卡器。

第二节 如何安装中文字库

很多场合下客户要求能够在控制器上运行一个中文的界面程序,但是大多数默认的控制器,

尤其是 CE 系统少有中文的 Image11,仅有少量的控制器有官方发行的中文版 CE Image,所以

在这种情况下,我们需要在官方发行的英文 Image 中添加中文字库。接下来将介绍如何添加

中文字库及需要注意的地方。

中文字库常见的有如下几种:

simsun.ttc /simsun.ttf 微软宋体

MSYH.TTF 微软雅黑字体库

simkai.ttf 楷体

STKAITI.TTF 华文楷体

mingliu.ttc 微软向华康购买的中文繁体字型

TTC 是几个 TTF 合成的字库,安装后字体列表中会看到两个以上的字体。两个字体中大部分

字都一样时,可以将两种字体做成一个 TTC 文件,现在常见的 TTC 中的不同字体,汉字一般

没有差别,只是英文符号的宽度不一样,以便适应不同的版面要求。但.ttc 是 microsoft 开发

的新一代字体格式标准,可以使多种 truetype 字体共享同一笔划信息,有效地节省了字体文

件所占空间,增加了共享性。

注意:在选择字体的时候需要注意一点,尤其是比较老的 CE 的嵌入式控制器,由于控制器

的存储介质不同,而字体文件一般占用 8M~14M 左右的存储空间,所以如果在存储空间不

足的情况下,建议慎重选择字体文件,或者选择网上有剪裁版的字体库。

选择合适的字体库之后需要在 CE 嵌入式控制器上安装该字体库。

1) 首先在设备的 Hard Disk\System目录下创建名称为 Fonts的文件夹。

2) 将字体库文件 simsun.reg与 simsun.ttc(例如:宋体字有 10M左右)通过共享文件夹

的方式拷贝到 Fonts文件夹下。

3) 双击注册表文件 simsun.reg,导入注册值,重新启动系统即可,理论上到此只要之前

的环节没有任何系统报错,中文字库就算安装完成了。

11 Image:倍福对控制器操作系统的一种别称

4) 测试:可以通过 U盘带的中文文件来查看是否中文显示正常。

注册值的一些介绍:

另外注意一下:如果设备恢复出厂状态后(Hard Disk\ Documents and Settings 文件改为

任意名),基本中文的显示的功能将会丧失,需要重新加载注册表文件并按照上面的操作重

复一遍!

第三节 修改部分控制器的 CPU 使用率的显示功能

有些控制器,如 CX80xx 系列,默认出厂时控制器的 CPU 使用率不计算只显示 10%,可以通

过修改注册表来实现显示:HKEY_LOCAL_MACHINE/SOFTWARE/BECKHOFF/TWINCAT/RTime/

EnableRTimeMeasurement0:deactivated; 1: activated. 修改过之后请务必重启控制器使修改

生效。

第四节 部分控制器的分辨率修改功能的开启

部分控制器在默认设置下,分辨率是无法修改的,即使修改页面修改了,但是重启后又恢复。

以 CX9020 为例,请按照路径 „Hard Disk\Regfiles\Samples\CX9020\CX9020_DDC_Disable.reg

“找到文件,双击运行,重启后按照以前的方式修改分辨率就可以。

另外有的时候也会有一些需要将屏幕的显示旋转。接上显示屏或者远程桌面后,进入控制面

板CX configurationDisplay Setting设定旋转的角度,设置之后重启,鼠标操作也

会偏移 90°。

第五节 修改 CE 系统中右键弹出菜单 Pop-up Menu 的显示

一般在 CE 的系统中,不能像一般我们在 XP 中显示 TwinCAT system service 的右键弹出菜单

(Pop-up menu)

如果需要显示可以通过改注册表 HKEY_LOCAL_MACHINESOFTWAREBeckhoffTwinCAT

SystemSysPopupMenuType 改成 2(Hex)

第六节 CE 系统中增加时间的显示

正常情况下在 CE 系统的控制中,系统时间没有办法像我们调试电脑那样显示,这个可以通

过添加注册表中的键值来修改

[HKEY_LOCAL_MACHINE\Software\Microsoft\Clock]“SHOW_CLOCK”=dword:1

第七节 CE 系统的 log 功能的开启

CE 控制器常需要增加一些诊断功能,例如将设备的一些报警或者 TwinCAT 的一些报错信息

显示或者保存,该功能可以通过开启系统的 log 功能来开启,点击开始菜单控制面板

Control PanelCX ConfigurationTwinCAT SetttingLog File Configurationenable Log File. 并

配置一些关于 log 文件有多大,及在什么路径查看等参数。

设置完后请重启使之生效,TwinCAT 的相关信息例如报警或者错误等将自动保存在 log 设置

的路径中。

第八节 CE 系统屏幕休眠功能的开启

如果客户需要 CE 控制器的屏幕在不操作的时候进入休眠状态,该功能也是可以在控制面板

的显示设置中修改。

第九节 CE 系统防火墙的设置

有的时候为了保护控制器,需要开启防火墙,该设置也可以通过控制面板的防火墙设置去修

改。

如果需要对某个特定的端口,例如特别开启 Modbus TCP 的 502 端口,则需要将 502 端口以

自定义的规则添加到 Active Rules 中,并开启 Persistant Settings

第十节 修改默认用户名或者密码

一般控制器的默认用户名 Administrator 的密码为空,此时,Telnet 或者 FTP 等方式无法连

接,这时可以通过在控制面板中修改密码。

第十一节 修改控制器默认启动路径(非推荐方式)

控制器在默认情况下,开机时自动启动 Hard Disk\Boot 文件夹中的设置,但是也偶尔有客户

需要一些特殊功能-例如开机从外设的 boot 文件中启动(例如从外接移动设备),这种情况

下需要做两个操作,首先是修改默认的启动路径,再就是修改 TwinCAT 在 CE 设备下的开始

启动时间。

注意: 修改 TwinCAT 在 CE 设备中的启动时间,还可以解决设备重启后,IO 或者总线的初

始化不及时而导致程序启动运行不正常的问题。

下面将详细说明如何修改默认的启动路径和修改 TwinCAT 的在 CE 系统下的启动时间。

注意:由于这种设置将修改默认的控制器设置,所以不推荐客户随意去修改。

1) 首先要确认在控制面板CX-ConfigurationTwinCAT Setting中 Run as device”不要勾选。

2) 另外需要设置外接的移动设备,建立一个 TwinCAT 文件夹,其中包含 Boot 文件夹。确

认在“…\TwinCAT\Boot”路径下有 TwinCAT 的启动文件 Boot Project。

3) 接着通过运行 regedit 进入注册表,将表中默认的 TwinCAT 读取启动文件的路径修改成从

外接移动设备中。[HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\System\Bootprj-

Path]"\<移动设备名字:例如默认 CE 系统对外接的 USB 移动设备识别为- Hard

Disk2>\TwinCAT\Boot"

4) 接着就是修改TwinCAT的默认的启动时间。首先删除HKEY_LOCAL_MACHINE\init 里面

的Launch80的“TcSysExe.exe”,否则TwinCAT将启动两次(一次为默认的启动,后一次为

我们设置的延迟启动)

5) 接着修改注册表中的键值[HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\CxConfig]

"WaitTimeAutoexec"=dword:4e20 (20s)

6) 建立一个"AUTOEXEC.cmd"的文件 然后文件里面编辑:start "\windows\TcSysExe.exe".

7) 将文件通过移送设备/通过FTP/通过Public共享文件夹保存到-" \Hard Disk\System\"路径中

(详细请参考本说明第二章的说明)。下面的例子是通过控制器默认共享文件夹Public的方

式传输的。

8) 最后为了保存并使修改生效请重启控制器。

第四章 CE 控制器常见应用举例

CE 控制器由于其小巧和接口灵活,性能和功能丰富,日渐被广大用户青睐,在应用的过程

中,一些常用的功能:例如用户界面 HMI 的汉化,掉电保持功能的使用等经常被用户提问,

本章将一一举例说明,最后还为一些调试的高级用户介绍了 CE 虚拟机,并结合调试的应用

更好的阐述。

第一节 CE 控制器的中文界面的显示

基本的步骤都是先安装 TwinCAT PLC HMI CE 的插件 TS1800-0030,选择你需要显示的中文字

体,安装完中文字库后,然后决定 HMI 上哪些部分是需要显示的中文,接着做动态 XML 文

件。其他一些细小的显示上的问题或者 PLC HMI 的问题可以陆续参考该节最后的 F&Q 的总

结。

1) 首先 TwinCAT PLC HMI CE 的插件的安装。插件的安装请参考第三章的第一节内容。最后

注意在编程电脑上的 TwinCAT PLC Control 编程环境下,需要勾选 Enable CE Target

Visulization (is not free of charge),并下载启动文件 Creat Bootproject。

2) 然后就是安装显示需要的中文字库,具体的操作也请参考第三章的第二节的详细内容。

3) 接着就是选择需要做动态语言切换的控件,修改并创建 XML 文件,并在最后在 PLC 的

VISU配置中植入动态语言文件和语言切换功能。下面以一个简单的例子描述

编辑 Visualizations 画面。

在 Visualizations 中添加一个新的界面 V1,注意界面的命名不能以数字开头。接着在 V1

界面中加入一个 Rectangle,点击其右键菜单的 Configure,打开其配置窗口,在

Text->Content 中输入%<对象名称>对象名称任意,后面的 HMI 文件会与之对应,如下

图 Tank1。

在 Variables->Textdisplay 中输入对象 IDID 任意,后面的 HMI 文件会与之对应。

加入一个按钮,Text->Content 中输入%<Language>,Variables->Textdisplay 中输入 2。

在 Input->Execute program 中加入 INTERN LANGUAGEDIALOG。

编辑 XML 模版。替换对象名称和对应的对象 ID,及<chinese></chinese>,<english>

</english>中间 HMI 显示的内容。

注意:XMl 文件必须使用 Unicode 编码,保存时一定要采用 Unicode 编码。

在 PLC 的菜单 Extras->Setting->Language 中导入刚刚编辑的 XML 模版。

注意:保存的路径不能有中文,否则报错。

4) 到此一个简单的可切换语言的 HMI 编辑完成。另外需要注意不要忘记在 CE 的控制中下

载 PLC 程序并建立启动文件(Create Bootproject)。

另外设置 CE 控制器开机能自动启动。

5) 编辑 XML 动态语言文件的另一种方式:“借助 Excel 编辑 XML 文件”,这种方式更适合

需要汉化或者多语言切换的复杂 HMI 画面。

以 Excel 方式打开 XML 文件模板“CN_Template.xml”,则弹出下面对话框:

选择第一项“作为 XML 列表”,弹出下面对话框:

点击“确定”则打开 Excel 如下图:

Prefix-“Tank1”对应对象的名称即上面例子描述的Rectangle的属性的 Text->Content,

“1”对应该对象相应的 Textdisplay 中的 ID,相对应英文的显示为 “This is English

display”, 相对应的英文显示为“这是中文显示”。

同理,对于按钮对象,名称是“Language”,id 为“2”,对应中文显示为“语言”。

则在 EXCEL 尾部添加一行,prefix 中输入“Language”,id 中输入“2”,chinese 中输

入“语言”。

注意:当然对按钮进行的语言切换的设置操作还需要参考上面的 Input->Execute

program 中加入 INTERN LANGUAGEDIALOG,这边仅是动态语言 XML 文件的快速编

辑的一种方式。

另外如果需要在不同的条件下显示不同的中文,例如一个按钮在 A 条件下显示“修

改”,在 B 条件下显示“确认”。此时就需要将按钮的 Textdisplay 的 ID 设置成变量

-用 PLC 变量。

下面以一个按钮为例,当 PLC 变量 iStart 的值等于 1 时,此按钮上显示中文“修

改”,当变量 iStart 的值等于 0 时,按钮上显示中文“确认”。打开按钮的配置窗口,

其 Text 属性中输入“%<Start>”,即该按钮对象的名称是 Start。

在 Textdisplay 中输入该对象的 id 为 PLC 变量 MAIN.iStart。

该按钮的名称是“Start”,该按钮的 id 为变量“MAIN.iStart”,并且要求变量 iStart

的值等于 1 时,按钮上显示“启动”,当 iStart 的值等于 0 时,显示“停止”。因此

XML 文件中需要添加两行,如下图所示。

PLC 程序运行后,改变变量 iStart 的值,当 iStart=1 时,该按钮上显示“修改”,当

iStart=0 时,该按钮上显示“确认”。

XML 文件在 Excel 中编辑完毕后,必须以“XML 数据”方式保存,如下图所示:

点击“保存”后,弹出下面对话框:点击“继续”即可。

以记事本方式打开通过 Excel 编辑的 XML 文件,如下图:

把文件的第一行和第二行删除添加如下内容:

<?xml version="1.0" encoding="UTF-16"?>

<dynamic-text>

<header>

<default-language>chinese</default-language>

<default-font>

<language>chinese</language>

<font-name> Arial </font-name>

<font-color>0,0,0</font-color>

<font-height>-13</font-height>

<font-weight>700</font-weight>

<font-italic>false</font-italic>

<font-underline>false</font-underline>

<font-strike-out>false</font-strike-out>

<font-char-set>0</font-char-set>

</default-font>

<default-font>

<language>english</language>

<font-name> Arial </font-name>

<font-color>0,0,0</font-color>

<font-height>-13</font-height>

<font-weight>700</font-weight>

<font-italic>false</font-italic>

<font-underline>false</font-underline>

<font-strike-out>false</font-strike-out>

<font-char-set>0</font-char-set>

</default-font>

</header>

修改完毕后,必须以 Unicode 编码方式保存,同时,文件名和保存路径中不要含有

中文,如下图

注意:借助 Excel 编辑 XML 文件时,注意不要有空行,即蓝色边框中不要留空行。否则保存

后,XML 文件不正确,有多余的语句“<text/>”,一个空行,将多一句“<text/>”。

6) 常见问题总结:

(一) 一些属性的设置:

1) Visualization 默认的开机时调用哪个界面

默认开机调用 TC_Visu 的组态画面

2) TwinCAT PLC HMI 页面默认窗体的尺寸的修改:默认是 640 x 480

编辑 TwinCAT安装路径下的 ini文件:”…\TwinCAT\Plc\TwinCAT PLC Control.ini”

添加 2 行 : VisuWidth=1024,VisuHeight=768

3) Visualization 选项卡属性设置

可视化画面的属性窗口,Visualization 选项卡,有三项设置:

A、Visualization

B、Visualization without master layout

C1、Master layout C2、as background

如果画面用作背景,则选择属性 C1 和 C2;如果画面只选择属性 C1,则掩盖了

其它画面自己的控件。

如果画面选择属性 B,则用作背景的画面对其没有影响。

如果画面选择属性 A,则用作背景的画面成为其背景。

4) 如何在 HMI 上通过修改密码切换用户组

一般 PLC 的最下面的那个 user group 的密码可以设置不同用户组对于该 PLC 项

目的访问的密码-及打开和编辑该 PLC 项目需要的用户组的密码。

但是如果要在 HMI 上通过修改用户组密码而对应显示并切换不同用户组的界

面,则可以首先通过 HMI 的系统变量 CurrentPassword[0..7]来设置密码,然后

在 HMI 上激活切换用户组的窗体。

下面这个例子就是通过按钮切换用户组,不同的用户组显示不同的字符串在不

同的位置

点击按钮后,出现切换用户组输入密码的页面并将软键盘呼出

输入正确的密码后就可以看到切换到了 user level 1 的界面了,user level 0 的那

部分字符串不显示了,当然对于什么用户组显示什么内容这部分需要在每个控件

属性里面的 security 里面设置。

5) 如何在 VISU 里面简单切换 VISU 的界面

用 currentVISU 这个全局变量

6) CE 下,键盘呼出的功能是自动的,不用调用!否则可以用 osk.exe 换出

7) Settings 中,Frame 的设置,如果需要拉伸的效果,需要选中 Best fit online mode。

8) PLC control 中编辑时,大小写敏感,XML 文件中的对象名称和 Target VisuCE 中

相应的对象名称要完全相同,即大小写要一致。否则无效。

9) Target Visu CE 中对象的 Textdisplay 中输入的变量应该是 byte,int 等类型,不

要用 bool 型。bool 型变量为 False,并不代表其 id=0。

10) 目前支持的图片格式:bmp、jpg、tif。按钮中可以嵌入图片(bmp、jpg、tif)

位图能够设置透明背景色。例如截图时使用灰色背景,嵌入图形时,使用灰色

最为透明背景,则可以去掉背景色。同时不要选中 Frame 的 Draw。

11) TwinCAT PLC HMI 通过 Special input 来实现不同的功能的数学算法:例如下图

的一个数学算法,对一个输入的实数分别将其正旋的值和 log之后的结果相加。

在 result 的结果上显示编辑好的算法:

INTERN ASSIGN

MAIN.testVar:=(MAIN.rSIN*SIN(MAIN.fVar)+MAIN.rLOG*LOG(MAIN.fVar))

12) 在 Web HMI 上发现的问题:如果通过中文的 word 来添加的“摄氏度- °C”和

“度-°”及“>>>”在用 Web HMI 的显示的时候会出现乱码和错误的显示。

解决办法:必须用德语键盘输入:例如若英文键盘上没有的键值 “>”,这就

要调用德语的软键盘,通过运行 OSK,切换语言到德语,然后输入就可以了!

(二) HMI CE 平台下的一些限制:

1) 问题:CE 中显示的中文某些字体会有上移或者下移的情况,及有的中文文字

不能上下聚中(总是偏上)

推荐的解决方案:

这个问题是一直存在的,所有尖的字都有可能是出现这个问题的,推荐稍微好

点的效果是把字体采用“下对其”

2) 问题:用 Visualization 在 CE屏上用做了个时间显示,屏上显示的时间不动,只

有两个画面切换一下才显示时间动一下,在电脑监视屏上的显示时间是正确的。

推荐的解决方案:

用%t 在 CE 下确实会这样,建议用取当前时间的功能块配合变量显示时间

3) 问题:CE 系统上面的 HMI 界面,制作的按钮的颜色无法变化,比如使用笔记

本作为编程器连接 CP6602-0001-0040,笔记本上面的画面 LOGIN 并且 RUN 之

后,按钮显示红色,但是面板 PC的 HMI CE界面上面的按钮始终是最初始的颜

色,不能变化。

原因:这些是 CE HMI 的限制,下图列表了其他一些限制:例如 CE 里面滚

动条是不显示的;不支持 Text 里面的 Hidden-用来将显示的字符变成****;只

有 online 的趋势图是支持的,history 趋势图是不支持的,并且需要

添加一个 SysLibAlarmTrend.lib 的库,否则登陆到控制器时的编译会

报错的

(三) 动态 XML 文件问题:

1) 问题: many XML symbol:过多的 XML 符号,甚至客户有反应过出现„Page fault

Error “ 和 „Divide by 0 Error“的错误,表明有可能多语言文件的 XML 文件内容

太多,比如超过 500 条,PLC 启动会崩溃

推荐的解决方案:

尝试将较大的 XML 文件拆分成几个相对小些的 XML 文件,但是也发现不能添

加过多的 XML 文件数量。

还可以尝试下面的设置:

取消选勾下面的这个 Dump XML symbol table(在不用OPC的时候可以取消,

但是上面的那个对于OPC是必须要勾选的)

2) 问题:动态语言的 XML 文件需要手动从编程电脑拷贝到目标控制器中么?

答案:不需要,XML 文件在编程电脑上编辑并在 PLC HMI 项目文件中绑定

后,会在 PLC loggin 的时候自动拷贝到目标控制器中。

3) 在编辑动态 XML 文件的时候可能会发现一些老的模板会采用”<![CDATA[xx]]>”,

其实不必,采用下面的方法编辑即可!

4) 问题:曾经客户有要求对 CE 控制器的动态 XML 文件修改,去修改控件中文显

示的内容,并且最好能通过 HMI 来进行操作?

解决方案:可以间接的实现,首先通过一个非CE系统的设备,在该设备上

通过PLC程序调用XML Data Server的函数,将修改好的中文内容保存在xml文

件中,并通过写文件的方式复制到CE控制器上(第四章第五节),然后重启CE

控制器(也可以通过程序实现),CE控制器在重启后将重载动态XML文件中的

中文部分,从而实现中文显示内容的变化;如果要删除原有CE系统下的中文

显示的内容:仅输入空字符在相应的XML文件中,并复制和拷贝到CE控制

器,重启之后即可。

第二节 掉电保持数据的应用

保持型数据在实际应用中具有特别重要的意义,通常用于设备运行期间断电、故障等的

一些生产或者系统数据的掉电保持,为维护人员进行系统诊断和故障分析提供可靠的数据,

倍福的控制器基于不同的硬件平台提供多种解决方案。

基于不同的控制器硬件平台,系统提供的掉电保持功能也有所区别:

1. 基于 NOVRAM 卡的掉电保持。

a) CX 控制器,例如 CX90x0, CX10x0,CX20xx 默认自带 128 kB 的 NOVRAM 掉电保持

卡。较老版本的 CX 控制器 CX100x 标准是 8kbyte 的 NOVRAM

b) 对于工业 PC 可以选择 option 选项添加 NOVRAM 卡12

i. C9900-R230,可扩展 128KB 的 NOVRAM 掉电保持卡

ii. C9900-R231,可扩展 256KB 的 NOVRAM 掉电保持区

iii. C9900-R232,可扩展 512KB 的 NOVRAM 掉电保持区

2. 基于 UPS 的掉电保持

a) CX80x0,CX5xxx 系列控制器自带 1S 钟的 UPS

b) CX9020 也可以出厂前定制成包含 1S 钟的 UPS 的类型(CX9020-U900).

c) 选用 UPS 组件或者外置 UPS。

3. 基于 NOVRAM 端子模块 EL6080(128KB)的掉电保持。NOVRAM 卡通常会占用 Mini PCI

插槽。对于 CP72/62,CP67,CP66,由于只有一个 MINIPCI 插槽,如果同时还需要选择

如 CANOPEN,PROFIBUS 等 PCI 总线卡,故此时建议选用集成了 NOVRAM 的总线模块,

以节省资源并保证系统可用(暂时没有整理)

4. 通过软件功能手动实现数据的备份

a) 借助 FB_WritePersistentData 实现

b) 通过保存文件方式间接实现。例如使用 XML Data Server,但需安装相应 Supplement,

或者使用 FB_FileWrite 等写文件的功能块(免费库已经包含)

(一) 基于 NOVRAM 卡的掉电保持

数据是保存在 NOVRAM 卡上的,并且 NOVRAM 卡上有独立的纽扣电池,用以保证数据的长

期有效,但是由于 NOVRAM 卡的大小的限制,以及其保存的原理,做数据保存的时候建议

数据量不超过 63KB。

用 NOVRAM 做掉电保持数据时,不需要将 PLC 变量定义成 Persistent 类型,但是必须定义成

输出 Q 区变量,具体方法如下:

1) 在 PLC 程序中建立变量,将需要掉电保持的变量以一般的“输出”变量定义(%Q)。

2) 在 system manager 中,扫描 CX 的 I/O 设备时,会自动发现 NOVRAM 项.

12 NOVRAM 卡需要占用 IPC 一个 mini PCI 插槽。

3) 在 NOVRAM 的 output 下面添加变量, 建议其数量和类型与需要掉电保持的 PLC 变量一

一对应,否者会有错位而导致数据恢复的不正常。

4) 在 System Manager 中将 PLC 变量和 NOVRAM 变量链接,如图所示:

5) 在 system manager 中需要将“自动给链接的 PLC 变量赋值-Auto_Init_Linked_PLC_

Outputs”勾选。否则重新上电后,PLC 程序中相应的 PLC 变量不能及时的更新

NOVRAM 实际的数值。

6) 在 configure 模式下, 还可以利用系统设置页面的”Export to Disk” 按钮,将目标机器的

NOVRAM 区数据备份保存到 PC 机的硬盘。建议在第一次使用 NOVRAM 的时候用这

种方法将空的 NOVRAM 区导出一次,事先做一个数据全 0 的文件,以便以后做复位

NOVRAM 区来用。

注意:NOVRAM 也是 IO 设备,由于 NOVRAM 的保存是周期性的,过大的数据量,较快读写

速度都会增加 CPU 的占用率,并且在 NOVRAM 进行保存的过程中,其他的任务一般不会运

行,所以建议在 PLC 里建立一个慢任务比如 500ms(一般系统默认慢的任务执行的优先级也

低),用这个慢的和优先级低任务来做周期性的数据保持/更新。

对于大量数据的保持,如果不要求周期性的对 NOVRAM 进行读写, 也可以使用

TcIoFunctions.Lib 中 FB_NovRamReadWriteEx, 利用这个功能块,可以不需要做变量映射,也

可以避免修改 IO 变量列表。

下面例子实现:给功能块 bWrite 一个上升沿,将从 NOVRAM 的第 10byte 开始写 100 个 byte

的数据,其中前 10 个 byte 赋值从 1~10。

补充:如果用 NOVRAM 对数据进行周期性的保存,一般数据保存采用的是先扫描变化再做

写的过程,并不是全部擦掉重新写,可以参考下面的图表来估算写的周期(推荐的周期是

500ms)

(二) 基于 1S UPS 的掉电保持

基于 UPS 的数据保持,需要将 PLC 的变量定义成 Persistent 类型, Persistent 数据一般先保

存在控制器的内存区,并最终保存在硬件的存储区里:如 CF/Micro SD/CFast 卡上。一般 1S

钟 UPS 可以实现最大 1MB 数据的保持,并且 1S 钟 UPS 一般不提供 E-bus/k-Bus 供电,总

线将在 1S UPS 工作时不能完全正常工作。

下图描述了一个简单的掉电保持数据的生成和读取过程:

注意:restart 或者重新激活都相当于状态的两次变化,系统在 run—>stop 的时候先生成一

个.wbp 的文件,然后 stoprun 时候将.wbp 文件重命名为.wb~。

数据默认保存的路径在 TwinCAT 安装路径的 Boot 文件夹中(“…\TwinCAT\Boot\”)。

TCPLC_T_x.wbp x 表示 Runtime 号

TCPLC_T_x.wb~ Backup 备份文件,x 表示 Runtime 号。

.wbp 是 TwinCAT 停止或者手动做数据保存时生成的文件,.wb~是 TwinCAT 启动时备份的数

据文件,一般 TwinCAT 启动后,会将.wbp 的文件更名为.wb~文件,由于两个文件保存数据的

时间点是不一样的,如果要实现.wbp 丢失或者该文件读取有错情况下,上电自动从.wb~返

回数据的话,可以修改一个注册表里面的参数。

[HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\Plc]

"ClearInvalidRetainData"=dword:00000000

"ClearInvalidPersistentData"=dword:00000000

如果设置为 0 的话,那么 TwinCAT 启动的时候,没有发现 wbp 文件的话,那么会从 wb~读

取备份数据,但是 CE 系统的这个参数默认是 1,如果需要请修改。

为了确认是否正常的恢复数据,可以利用 TcSystem.lib 里面的系统信息 SYSTEMINFOTYPE,

或者定义一个变量在%MB32768 类型定义为 SYSTEMINFOTYPE 用来观察

系统信息中 bootDataFlags 的 bit4 如果置 1 表示恢复成功;如果恢复的是 wb~的数据的话,

bootDataFlags 的 bit5 会在 TwinCAT 启动之后置 1,用户可以通过这个位来了解此次恢复的数

据是否为上一次上电的数据。

下面举一个例子,testVar 是 PLC 里面的一个 Persitent 类型的字节变量。通过远程桌面首先

可以看到 CE 控制器的“\Hard Disk\TwinCAT\Boot”文件夹里面有一个 TCPLC_T_1.wbp 的文

件,用 PDE 编辑工具可以看到里面的数据是 PLC 里面的要保持的数据 0x64. 接着如果掉电,

在 CE 控制器重新上电后,一切正常的情况下,系统将从.wbp 文件中将数据先读取出来,并

将原有的.wbp 文件重命名为.wb~,可以看到全局变量 SystemInfo 里面的 bootDataFlags 的

bit4 置为 1即数据从.wbp 文件读取有效。

同样如果观察重启后文件的变化,可以看到文件类型做了更改,但是生成的时间是不变的。

接着模拟一次读取.wbp 文件失败的情况,即需要设备重启上电后从.wb~中恢复数据的情况,

为了测试,尝试手动删除.wbp 文件后给 CE 控制器掉电,可以看到控制器重启后,恢复的是

之前的一次的掉电的数据,并且全局变量 SystemInfo 里面的 bootDataFlags 的 bit5 也置为 1,

即数据从.wb~中恢复。

注意:掉电保存变量(PERSISTENT)不建议使用结构体,请将结构体中的数据以单一的数据

的方式定义。

当然一般对于一些控制器默认系统自带 1S UPS,一般建议配合使用控制器相对应的 UPS 功

能块

CX50xx: FB_S_UPS

CX80x0: FB_S_UPS_CX80xx

下面是 BECKHOFF Information System 对于这两个功能块的说明,基本区别不大。

iPLCPort: 就 是 PLC 的 Runtime 的 端 口 号 , 通 常 PLC Runtime1 即 801

(AMSPORT_R0_PLC_RTS1 = 801, AMSPORT_R0_PLC_RTS2 = 811, AMSPORT_R0_PLC_RTS3 =

821, AMSPORT_R0_PLC_RTS4 = 831)。

iUPSPort:默认系统读取 UPS 的端口 16#4A8。

ePersistentMode:对于 1S 钟的 UPS 该项必须设定成 SPDM_2PASS,系统会自动优化数

据保持的一次性写入,但是对于大量数据的写入可能会超过一个周期,并且建议适当调

整 Router 的大小。

CX5020 1S 钟 UPS 的掉电保持的功能测试,实现在掉电情况下布尔型 bool 数据和字节 byte

数据的掉电保持。

但是在实际应用中客户也常常反应会出现掉电后数据丢失的情况,主要可能是下面几种情

况:

a) 控制器的控制电失去,UPS 工作,但是由于需要掉电保持的数据过多,一次性无法全部

保存

b) 控制器掉电,UPS 工作,但是 UPS 没有放电结束,此时若控制器的控制电又恢复,有可

能数据并没有保存,即.wbp 没有生成,并且此时.wb~里面也有可能没有或者是以往的

掉电的保持的数据备份。

总结一下简单来说就是.wbp 文件没有保存合适的数据,并且.wb~也没有需要数据的备份,

所以最建议的方式 : 在 PLC 中,如果重要的数据,请在数据更新后,手动通过

FB_WritePersistentData 手动保存;或者考虑到工艺的要求,隔一段时间通过

FB_WritePersistentData 做一次重要数据的手动保存并兼顾文件保存的方式,在掉电恢复之

后,根据工艺的要求,建议从一个已记录的安全位置继续加工。关于如何通过

FB_WritePersistentData 来做保持性数据的保存请参考该章节的第(四)部分。

(三) 基于 UPS 组件的掉电保持,该类常用于非 CE 的系统的数据保持(暂时没有整理完成)

此类由于常采用外部 UPS 来实现,并且需要结合设置 UPS 的一些属性,所以暂时还在整理

之中。

(四) 通过软件功能手动实现数据的备份

在很多应用场合,掉电保持数据的保存,除了在使用之前提到的 NOVRAM,标准 UPS 功

能块之外,建议结合一些手动保存的功能块或者手动文件读写的方式将重要的数据保存。

1) 首先 FB_WritePersistentData 的使用

如之前第二部分提到过,除使用控制器的 UPS 功能块之外,建议在重要数据更新的情况下

手动通过调用 FB_WritePersistentData 来实现手动操作保持性数据的存储

如果手动触发功能块的“START”位将触发功能块的执行,执行成功将保存 Perstitent 类型的

数据(.wbp 文件)。这样即使 UPS 掉电保持不成功,之前手动做的数据也还是有效,.wb~的

备份文件中也存有有效的数据。

2) 配合使用附件 TS6421-0030 XML Data Server 做数据的保存

运用 XML Data 可将任意类型变量的数据保存于文件中(例如:采用结构体数组类型保存一

批内存连续的数据),此方式适用于大量数据的保存并可随时根据需要取出,可以规避用 UPS

或者 NOVRAM 无法保存大量数据的弊端。保存的数据在 XML 类型的文件,并可以指定保存

的文件名及路径,读取也方便,所以常常也作为配方文件的保存方式。注意该功能需要购买

TS6421 的附件,具体的安装方式请参考第三章第一节的内容。

3) 配合使用 File Function Block 做数据的保存

这种方式和上面的解决方案一样均通过写文件的方式,将数据保存在 txt或者 bin的文件中,

适用于大量数据例如结构体数据等的数据保存,并且通过文件保存的方式,保存的路径均可

自定义,读取和编辑相对简单,并且该功能无需付费,仅需添加 TcSystem.Lib 库,常用的功

能块基本为 FB_FileWrite 或者 FB_FileRead,关于功能块的说明请参考 BECKHOFF Information

System。

第三节 IPC diagnostic 控制器设备识别信息等硬件信息的

读取和修改

BECKHOFF 的 IPC/EPC 现在均提供 IPC diagnostic 的功能,除了网页版(以前称为 device

manager)通过 URL:http://<Device IP>/config 来访问和修改的设备诊断和信息读取功能外;

也支持通过 OPC-UA 来获得所有的 IPC diagnostic 的信息功能,并且不需要专门的 OPC-UA 的

license,并在控制器 Image 中已经包含,但是注意的是这里提到的 OPC-UA 的功能并不能做

PLC 变量的访问,如果需要访问 PLC 的变量请获取 OPC-UA 的标准功能。另一种方式就是调

用 MDP (Modular Device Profile)库的功能去读取一些软件或者硬件的信息,该库需要通过

TwinCAT PLC 来调用,并包含在标准的 PLC 库中。

网页版 BECKHOFF Device Manager 的界面进行了一些修改,(注意 CE 控制器登陆名和密码均

可采用默认的“guest”和“1”),从界面上可以获得设备的序列号,操作系统,Image 的版本等

信息,更可以了解主板的工作信息,例如温度和 CPU 温度,设备和主板电压等,通过鼠标可

以导航到其他硬件,获得例如 NIC-网卡等信息内容,并且支持在网页上对于一些硬件信息,

例如网卡 IP 地址等的在线修改。

下面将用更多的篇幅去介绍 MDP 的功能,例如如何通过 PLC 的程序去调用 MDP 的库,去获

取一些用户常用的控制器信息。

下面以两个例子来做说明

(一) 例如读取 CPU 的当前温度,在 PLC 中首先需要引用 TcMDP.lib 的库,可以通过

FB_MDP_ReadElement 的方式来读取,功能块的输入接口的说明参考下图。

首先 MDP address structure,需要定位到相应的模块的位置区域代码-area code,再找到

相对应的表格-Table 的 index- ID 最后获得表格中拥有该详细信息的子索引-subindex。

ModuleID 不是必填项。

查询 BECKHOFF Information SystemIPC Diagnostics 的 Information model 部分。CPU 属于

Configuration Area 即 0x8,

看到读取 CPU 当前温度的 tableID 为 0x016,子索引 subindex 为 0x03,整理后的参数对应如

在 Tc_MDP library 中 ModuleType 为 Enum 的数据类型,CPU 部分为 16#000B。

最后读取 CPU 当前温度的变量为 SINGED16,在 PLC 中定义一个 int 的类型变量用来读

取 CPU 的温度值。

如果读取的是本机控制器,可以用缺省的空字符串‘’来作为 AMS NetID。

测试中使用的是 CX5020 的 CE 控制器,通过功能块可以读取当前 CE 控制器的 CPU 温度(单

位为摄氏度),运行的结果如下图

(二) 读取控制器的网卡 NIC 的 IP 地址

同样调用 FB_MDP_ReadElement 功能块,网卡 NIC 的区域代码也是 16#08,TableID 为 16#01,

IP 地址的 SubIndex 为 16#02.

由于 CX5020 的控制器有两个独立的网口,所以在区分两个网口的时候需要使用到

FB_MDP_ReadElemen.iModIdx。经过尝试物理上的第一个网口X1的 iModIdx为“0“,X2为”1“,

最后通过 PLC 程序读取的网口的 IP 地址和在远程桌面中观测的 IP 地址均一致(见下图)。

(三) 在 TcMDP.lib 中系统还提供了一些对于常用软硬件配置的标准功能块,使用这些功能块

的时候基本不用去寻找相应的 Module 类型,也不用去管 Area\TableID\Subindex 等的信

息,直接给定相应的控制器 AMSNetID 和一个上升沿的触发读取即可。

读取 CPU:CPU 的频率和当前占用率FB_MDP_CPU_Read

读取设备名 Device NameFB_MDP_Device_Read_DevName

读取生产商识别信息 Vendor 和产品序列号 SNFB_MDP_IdentityObj_Read

序列号在设备硬件的标识上都有,Vendor 一般 BECKHOFF 都是 16#02.

读取设备网卡 NIC 的 MAC 地址,IP 地址,和子网掩码以及是否为 DHCP 分配等信息

FB_MDP_NIC_Read

修改设备网卡 NIC 的 IP 地址FB_MDP_NIC_Write_IP

读取硬盘信息FB_MDP_SiliconDrive_Read

读取控制器 MDP 的版本信息FB_MDP_SW_Read_MdpVersion

读取 TwinCAT 的信息,例如 build,AMSNetID,TwinCAT 级别,TwinCAT 状态等信息

FB_MDP_TwinCAT_Read

(四) 通过 TcSystemCX.lib 读取嵌入式控制器的综合信息或者其他功能

在系统默认的 PLC 库-TcSystemCX 库中包含功能块 FB_CxGetDeviceIdentification 可以用来

读取硬件,Image 和 TwinCAT 等很多综合信息

第四节 CE Image 的安装

在实际的应用中,控制器由于一些特殊的软件原因无法正常工作,此时可能需要重新安装

Image,一般 Image 的安装方式建议由倍福售后或者技术支持工程师来操作或者协助操作,

并且由于倍福现有 CE 的嵌入式控制器基本使用到的存储设备有 Flash 卡,CF 卡,MicroSD

卡,CFast 卡几种由于其存储介质的区别,安装 Image 的方式也有所区别。

(一) 通过 ImageServer

这种方式一般适用于控制器例如 CX9000 或者 CX9010,此类控制器使用 Flash 闪存卡,无法

从设备上取出,需要借助 ImageServer 来做 Image 的更新。

1) 首先需要把 CX9000 的控制器面板的盖板打开拨码 3 拨到 ON

2) 把需要刷的 Image,例如 CX9000_CE600_LF_v308c 里面的 boot.bin 复制到

CX9000_ImageUpdate\CX9000_ImageServer\Images\Lf 的路径下。(如果是 HMI 的 Image

则复制到相应路径的 HMI 文件夹内)

3) 把笔记本电脑的网卡 IP 固定为 169.245.xxx.xxx、子网掩码 为 255.255.0.0

4) 双击 \CX9000_ImageUpdate\CX9000_ImageServer\CxImgSrv_LF.bat,会弹出一个 DOS 对

话框。

然后给 CX9000 上电

出现以上画面说明 CX9000 已经请求下载 Image。

出现以上画面说明 Image 已经下载完毕,耗时 12 秒。此时即可关闭这个窗口,断开网

线。

5) HDD 灯灭了之后(大约需要 8 分多钟),断开 CX9000 的电源,把拨码 3 拨到 OFF

6) 启动后用 CE 远程桌面 CERHOST.exe 开启 CX9000 的 FTP 功能(参考第二章的第二节内

容:开启 FTP 功能)。

7) 把 Image 文件夹路径 CX9000_CE600_LF_v308c\Hard disk 中的 System 和 UPnP 2 个文件

夹复制到 CX9000 的 FTP 文件夹中

8) 把 CX9000 中的 Document and settings 、System、UPnP 三个文件夹重命名,并用 FTP

文件夹中的 System、UPnP 来替换 CX9000 \Hard disk 中的相应文件

9) 点击 CX9000 Suspend 重启控制器。

10) 启动后删除三个重命名的文件夹 Document and settings 、System、UPnP 。

(二) 通过读卡器

对于 CX10x0 系列,CX50xx 系列,CX9xx0 或者 CX8xxx 等控制器,均可取出 CF 卡或者 MicroSD

的存储卡,这种方式可以通过读卡器来“刷”13Image,一般常用的刷 Image 的方式如下:

1) 需要一款适合读取存储卡的读卡器,市面常用的一般均可读 CF 卡或者 MicroSD 卡,注

意正反的插槽即可,注意取出存储卡时务必关闭控制器电源,不要带电插拔。

13 技术用语,表示安装或者更新 Image。

2) 接着通过读卡器可以看到原来存储卡里面的内容

如果重新刷 image 需要首先将该存储卡格式化。倍福官方推荐 CE 系统的 CF 卡或者 MicroSD

卡以 FAT 的方式格式化(虽然出现过使用 CX1020 的少量 Image 的风电客户,成功采用 FAT16

和 FAT32 的方式格式化,但是不推荐)。如果是 FAT32 的话,进入系统的时候,会提示 OPEN

FILE ERROR;如果是 exFAT 格式,那么上电后会是一直重启. 但是注意 FAT(或名 FAT16)只

能识别 4G 的 CF 卡。

3) 格式化之后,只需要将从倍福技术或者售后那边得到的相应的 Image 文件解压后,将所

有的文件复制拷贝到该存储卡上,并将卡再安装回控制器重新上电即可,重刷过 Image

之后一般控制器会自动重启两次,无需担心。

(三) 通过 BST(BECKHOFF Service Tool)工具

倍福也提供一个很方便的工具BST(订货号如C9900-H372),不仅可以用作Image的更新更可

以备份,还可以方便的将保存好的系统镜像通过简单的鼠标操作重新恢复。

BST的特点是:

1) 携带方便 操作简单

2) 装载Acronis 在数据保护、备份与恢复、系统部署、以及物理和虚拟服务器的迁移等方

面的优秀表现广泛赢得企业好评并获得许多奖项

3) USB 接口模式,即插即用。目前逐步推出USB3.0 版本,可以大幅度提高文件的拷贝

速度。

BST的功能:

1) 整盘和数据的备份恢复功能

2) 触摸校准功能

3) MS-SHELL 是指可以进入操作系统桌面状态,譬如想要格式化或者分区某个盘符,可以

进入操作系统之后,右击我的电脑—--管理中寻找。

BST使用操作如下:

1) 首先将BST插入控制器的USB接口中,启动控制器,不断按住键盘最右边的ESC按键,

进入启动项Boot Menu,选择USB Device

发现BST,回车选中当前BST设备

接着可以从显示器上看到下面的图标或者提示,不同的控制器,第一次运行BST的时间

会有区别,请耐心等待

2) 操作主界面如下图显示,Backup做Image的备份,Restore用作进行Image的恢复。

3) 首先做Image的备份,此种方式适用于新设备系统Image备份,方便今后的维护中Image

的重新安装,注意备份的文件一般生成后为“.tib“文件,操作方法如下,鼠标点击

Backup,进入下图的界面

选择next后进入下面的界面,选择需要要备份的磁盘,一般CE控制器默认只有一个

盘,选择该盘符即可,注意用BST备份只可以选择盘符但是无法选择文件。

接着选择是否备份的文件需要加密或者选择合适的压缩方式,建议选择默认配置

接着进入选择备份文件保存路径的界面,建议放在BST的路径的Image文件夹里面,这

样默认的恢复的时候也在Image文件夹中,请注意由于BST有存储空间限制,如果太大

的镜像文件需要保存在其他介质。

保存成功过,可以通过编程电脑查看”\Images”里面是否有相应的tib文件,并且也可以

将这个文件在另外的地方做备份。

4) 接着对于系统镜像Image的重新安装的一个说明,鼠标点击Restore

接着进入基本界面,当然恢复Image的格式也是采用”.tib”文件

选择tib文件从哪个路径读取,下图显示从BST的内部的Images文件夹读取

选择next之后Image会进行安装,安装之后可以用BST进行重启即可。最后为了控制器

能正常操作,请将控制器的Bios Setting恢复成WinCE启动。

(四) 用USB口进行刷机(仅限于CX80x0)

第五节 CE 虚拟机的应用

在设备调试的过程中,常常由于这样那样的原因没有合适的控制器可以测试,所以虚拟机

的应用也越来越多的被使用。下面将以调试电脑(WIN 7 64位系统)为例,首先从安装虚

拟机着手,接着描述如何对虚拟机进行配置,以及如何在虚拟机中安装CE Image,最后以

一个简单的例子说说它的应用。

一般不同的操作系统建议安装不同的虚拟机程序,对于Windows 7系统推荐使用微软优化的

Virtual PC 2007。

虚拟机的下载地址,请根据32位还是64位系统,选择相应的安装包。

http://www.microsoft.com/en-us/download/details.aspx?id=24439

1) Virtual PC 2007 下载完成, 点击安装,选择继续点击 Next:

2) 选择 I accept the terms in the license agreement 项(接受许可协议)后, 点击继续 Next:

3) Username 和 Organization 可以选择默认设置, 也可以自定义修改, 此文档中以默认设

置进行

Product Key: 安装软件会自己识别本机电脑系统的 Product Key, 并填入. 此项不能修改.

Install this application for: 选择为哪个用户安装此软件. 如果有多个用户, 并且不需要其

它用户使用这个软件 , 请选择 Only For me….其它情况选择 Anyone who uses this

computer(All Users)此两个选项对软件者安装者使用软件无影响,接着继续点击 Next:

4) 选择安装路径, 如果没有特殊要求, 请默认此项. 点击 Install:

5) 等待安装完成,点击 Finish. 安装成功后,可以看到在开始菜单已经可以看到 Microsoft

Virtual PC

6) 配置虚拟机软件, 点击 Windows 系统的开始(Start)菜单点击所有程序点击 Microsoft

Virtual PC,弹出两个对话框:

Virtual PC Console 虚拟机控制台.

New Virtaul Machine Wizard 新虚拟机设置向导

在 New Virtual Machine Wizard 中, 点击继续 Next:

7) 选择Add an existing virtual Machine添加一个已经存在的虚拟机,

8) 点击浏览,选择虚拟机所在路径,选择安装

9) 安装成功后点击Finsih完成

10) 当勾选了 When I click Finish, open Settings 后, 点击完成后就会出现下图所示配置窗口

配置窗口中显示虚拟机的文件所读取的路径等信息。

11) 点击 OK 后,即可开启该虚拟机。

12) 虚拟机开启

13) 如果需要关闭虚拟机,点击虚拟机控制台的 Close 或者直接关闭虚拟机的窗口:

14) 弹出对话框,可以选择是关机(Turn off), 或将此时虚拟机的状态保存(Save state), 方便下

次继续以此时的状态使用. 点击 OK 虚拟机关闭。

15) 如需要对虚拟机进行设置, 请在虚拟机关闭的情况下, 点击虚拟机控制台中的 Settings

16) 弹出如图所示设置对话框,根据需求进行系统参数设置.

17) 例如修改虚拟机的以太网连接,方便下面做调试电脑和里面虚拟机的路由的建立

18) 下面用调试电脑去扫描 CE 虚拟机,注意一下:调试电脑与虚拟机通用的那个网口需要

接到网络中或者内网,因为必须要有 IP 地址才能扫描到硬件,并且注意一下 IP 地址需

要与虚拟机的网口在一个范围,这部分内容请参考第一章的第二节的内容。

19) 接着选择目标设备可以看到TwinCAT已经切换到虚拟机的TwinCAT了。做一个简单的

HMI的界面操作一下

20) 通过Public文件夹传输CE的PLC HMI的cab文件并安装(参考第二章第三节)。

21) 运行简单的HMI界面

第五章 控制器选型须知

编纂该手册的起初,并无打算对选型进行一定篇幅的描述,因为选型一般常常为销售行为,

但是由于现在的选型或者型号的确认更多的还是建议技术来把关,并且一个型号的好坏,更

多的会影响之后的项目的使用或者应用开发,所以后期增添了这个章节,希望通过一些自己

过往的技术经验总结,更好的将 CE 的控制器应用发挥出来。

第一节 存储卡的选择

对于存储卡的选择,初期选型的时候客户如无特殊要求,销售常常认为控制器的基本配置已

经可以满足客户的大多数要求,但是后期由于客户使用的时候有一些额外要求,慢慢的存储

卡的空间也慢慢捉襟见肘,最后即使勉强够用,但是也带来更多的售后的问题,例如经常死

机,重启或者硬盘直接损坏无法启动系统等问题。

倍福的存储卡14一般均采用静态平均抹写 static wear leveling process 的方式,可以有效的保

证存储卡的使用寿命,通常存储卡的每个存储单元可以保守 10 年或者 100 万次的写周期。

当然这种基于快速存储的设备的生命周期在一定程度上与使用的频率(主要是写周期)和剩

余的可用空间有关

所以我们建议:在选择存储介质的时候务必谨慎!

通常我们的建议如下:

“SiliconDrive Usage“ on a rate of 95%,如果存储空间超过 95%的时候建议更换或者选择

更大的存储卡

“Spares used“ in a larger quantity than half of “Number of Spares“,当备用率低于 50%的

时候建议更换存储卡

after 10 years of usage,10 年的使用期后建议更换存储卡。

14 本文档中的存储卡对应官方文档中的 flash disks