
简介在工业自动化领域SCADA系统承担着数据采集与监控的核心职责。随着信创产业推进国产化软硬件栈的适配成为关键。KingSCADA4.0信创版基于麒麟、统信UOS等国产操作系统适配飞腾、鲲鹏、兆芯等CPU平台并支持达梦、人大金仓等国产数据库从根本上解决传统组态软件在国产环境下的兼容性问题。本文从实际项目出发详述信创版的技术底座、部署流程、老工程迁移要点以及上线前容易忽略的坑为SCADA系统国产化改造提供工程实践参考。 这两年接手过几个要求整体国产化的SCADA项目每次都会被问到同一个问题KingSCADA4.0信创版到底能不能用迁移起来麻烦不麻烦说实话第一次拿到信创版安装包的时候我也没底毕竟从Windows平台跳到麒麟系统上跑组态软件中间隔着的东西不少。把整个部署、迁移、调试过程走完一遍之后我想把真实情况整理出来给准备做信创改造的同行们一个参考。这篇文章不是厂商手册的复述而是基于实际项目的使用记录重点说清楚信创版和普通版的差异、部署环境怎么搭、老工程迁移会踩到哪些坑以及上线前必须做的验证。1. 为什么会有信创版它到底解决什么问题1.1 不是换个安装包那么简单KingSCADA4.0是亚控科技的组态监控软件广泛应用于电力、水务、市政、能源这些行业的SCADA系统中。所谓信创版我的理解是它不只是在功能上对齐原版更重要的是在底层运行环境和依赖组件上做了国产化适配。原来跑在Windows Server SQL Server 传统PC上的整套架构现在要换到麒麟系统、统信UOS这类国产操作系统上数据库要接达梦、人大金仓这些国产数据库CPU平台也可能从原来的Intel/AMD换成飞腾、鲲鹏、龙芯、兆芯、海光。很多人在选型时容易产生一个误解觉得信创版就是把原版软件拿过来用兼容层在Linux上跑一下或者打个包改个名字。实际用过之后会发现如果是靠兼容层硬跑画面上传、驱动调用、实时数据库读写这些核心环节很容易出问题尤其在工控场景下任何一次通信中断或者画面卡死都可能造成严重后果。信创版之所以单独发布核心目的是让软件真正原生运行在国产软硬件生态上面而不是临时凑合。1.2 用户侧的真实痛点在哪里从项目角度看用户面临的痛点其实很集中。原有系统稳定运行了好几年WinCC、KingSCADA或者别的组态软件都跑得好好的但信创改造要求下来之后问题就来了老软件在国产操作系统上装不上或者装上了驱动不认设备数据采不上来。新建项目如果直接用信创版又要面对从零开发画面、组点、配置驱动的工作量。另外还有一个很实际的问题——信创产品目录。很多招标文件会明确要求投标产品入围信创目录或者提供相应的适配认证。对于SCADA这类工业软件来说有没有信创版、有没有官方适配证明直接关系到能不能参与项目。这也是KingSCADA4.0信创版在圈子里讨论度高的原因之一它关系到一支团队能不能接到这类型项目。1.3 谁适合参考这篇内容如果你属于下面这几类人这篇文章应该能帮到你正在做SCADA系统信创改造选型的技术负责人手里有老工程需要从Windows平台迁到信创环境的工程师刚拿到信创版准备搭开发环境的实施人员以及负责项目验收、需要知道信创版功能边界的产品经理。下文提到的所有内容都是我实际碰到的场景和问题不是官方文档的简单翻译。2. 信创版的技术底座适配了哪些国产软硬件栈2.1 操作系统主力就是麒麟和统信从实际部署来看KingSCADA4.0信创版在银河麒麟V10和统信UOS 20这两个系统上用得最多。开发端和运行端我都分别测试过银河麒麟V10 SP1/SP2、SP3这几个小版本都有装过统信UOS的1060版本也跑过整体兼容性差别不大但要注意内核版本和系统位数。这里要特别提醒安装前先确认系统是aarch64还是x86_64架构不同架构对应不同的安装包。很多人在U盘里拷了安装包到现场才发现架构对不上。查架构的命令很简单uname -m 输出 aarch64 就是ARM架构飞腾、鲲鹏输出 x86_64 就是x86架构兆芯、海光。另一个命令是 cat /etc/os-release查看系统发行版和版本号。这些命令在现场部署时一定会用到建议提前准备好。项目说明系统版本银河麒麟V10SP1/SP2/SP3、统信UOS 201060系统架构aarch64ARM、x86_64x86查看命令uname -m、cat /etc/os-release、lscpu桌面环境麒麟桌面、UKUI桌面需图形环境支持我遇到过一个情况一台飞腾D2000的机器系统装好了但安装包拿的是x86_64版本安装程序直接提示架构不匹配。所以建议在项目一开始就把硬件架构和操作系统版本统一收上来做一个环境清单后面安装能省很多事。2.2 CPU和硬件平台ARM和x86两条线都要考虑信创硬件平台现在主要分两条线。ARM路线以飞腾FT-2000/4、飞腾腾锐D2000、鲲鹏920为核心x86路线以兆芯KX-6000系列、海光C86系列为主另外还有龙芯的LoongArch架构目前主要在党政办公领域工业现场相对少一些但也在逐步推开。KingSCADA4.0信创版这两条线目前都有对应的适配包。实际用下来飞腾D2000 银河麒麟V10 信创版这套组合跑中小规模SCADA项目比如几千个点位、几十幅画面性能是够用的。x86路线的海光、兆芯因为本身指令集兼容性更好跑起来更接近传统Intel平台的体验。龙芯LoongArch版本我没有在项目里实际用过但据同行反馈新版本已经能跑具体性能还是要以实际测试为准。这里想到一个很多人忽略的问题信创终端往往配的是国产GPU或者核显OpenGL驱动不一定完善。SCADA画面里如果用了大量矢量图、透明特效、旋转动画在信创环境下有可能出现渲染卡顿。这一点在后文的性能调优部分会详细展开。2.3 数据库和中间件不再默认SQL Server老版本KingSCADA4.0在Windows上默认搭配SQL Server使用历史数据、报警记录、操作日志都存在SQL Server里。信创版要适配国产数据库比较常见的是达梦DM8、人大金仓KingbaseES V8、GBase 8s。我试过达梦和人大金仓连接方式上跟SQL Server差别不大关键是要在ODBC/JDBC层面配好驱动。中间件这块如果只是单机运行组态软件一般不涉及Web中间件。但如果项目里要部署KingSCADA的Web发布功能让浏览器端查看画面那就涉及Web服务中间件的适配东方通TongWeb这类国产中间件就会进入选型范围。这一点在做技术方案时就要考虑进去否则后期兼容性测试容易卡壳。2.4 一张支持矩阵助你快速核对环境结合项目经验我整理了一个环境核对表大家在部署前可以对照用资源类型常见选项备注操作系统银河麒麟V10、统信UOS 20需图形界面内核版本建议5.4以上CPU飞腾D2000、鲲鹏920、兆芯KX-6000、海光C86ARM与x86安装包不同数据库达梦DM8、人大金仓KingbaseES V8、GBase 8s需ODBC/JDBC驱动中间件东方通TongWeb等Web发布场景非必需按项目需求加密狗USB硬件狗/软授权需安装厂商提供的Linux驱动通信驱动Modbus、OPC UA、IEC 104等按现场设备协议选择这张表不是说所有环境都必须一模一样而是告诉你在动手安装之前先把这些项核对一遍能避免大部分低级问题。3. 从拿到安装包到跑通第一个画面部署实操记录3.1 安装前的环境准备清单信创版拿到手之后第一件事不是急着安装而是把环境摸清楚。我先说环境准备这个环节因为这里出的问题最多也最容易排查。确认操作系统版本和架构。建议用 uname -a 把内核信息完整打出来用 lscpu 查CPU型号和架构。如果是图形登录界面没起来还要确认系统能正常进入桌面因为KingSCADA4.0的开发环境和运行环境都依赖图形界面纯命令行没法用。确认磁盘空间。组态软件本身不大几GB以内但加上数据库、驱动、工程文件以及运行日志建议预留至少20GB空间。如果项目点位多、历史数据量大空间还要更大。确认依赖库。信创系统默认自带的Qt、X11等图形库版本如果过旧或缺失安装时可能会报依赖错误。这个在安装前不一定能发现安装报错后再装依赖也来得及但建议提前把yum/apt源配好。银河麒麟V10一般用apt源统信UOS也用apt系现场如果没有外网要先准备好离线依赖包。我踩过一次坑某现场是内网环境安装时提示缺少libx11库但系统无法访问外网源最后是从另一台同版本机器上拷了deb包硬装上的。所以凡是内网部署的项目一定要提前准备离线依赖包这个建议写进项目计划里。3.2 安装过程与授权激活的注意事项KingSCADA4.0信创版的安装包一般是一个脚本或者安装程序具体形态以官方发布为准。安装过程比Windows版稍显繁琐但只要按照提示走基本都能装完。安装过程中要仔细看安装选项尤其是组件选择最好把开发环境、运行环境、驱动组件、数据库连接组件全部勾选避免后期用到某个功能时才发依赖组件缺失。授权是信创版一个很容易出问题的地方。如果用的是USB加密狗插入信创主机后系统不一定自动识别需要手动安装厂商提供的Linux版狗驱动。驱动装好后用 lsusb 能看到设备枚举出来然后在软件的授权管理里做注册。如果用的是软授权License文件要注意授权文件是否绑定硬件指纹换硬件之后需要重新申请。我见过一个项目授权文件申请时绑定的是老服务器结果现场换了台机器授权直接失效导致整个调试周期推后了两周。这类问题强烈建议在项目启动前就和厂商确认清楚授权模式是什么、硬件变更怎么处理、有没有备用授权。3.3 首次启动与配置数据库连接安装授权都完成后第一次打开KingSCADA4.0信创版界面布局和Windows版基本一致熟悉老版本的人上手不会太难。第一次新建工程时会要求配置数据源这里就要接国产数据库。以达梦DM8为例先在系统里安装达梦的ODBC驱动然后配置 odbc.ini 文件指定服务器地址、端口、数据库名、用户名、密码之后在KingSCADA里选择对应的DSN连接。ODBC配置这一步很容易出错尤其是字符集不一致会造成乱码。国产数据库默认字符集可能是UTF-8但历史库里的中文数据如果原来以GBK存过就可能在报表里出现乱码。所以配置数据库连接时把字符集统一改为UTF-8并把数据库的字符集也一并确认。数据库连上后我会习惯先做一次连通性验证在数据库客户端里建一张测试表插入几条中文记录再到KingSCADA的报警查询或历史查询里查出来看看。如果中文显示正常说明字符集通路没问题后面再建历史库、报警表就稳了。3.4 开发一个最小可用的演示工程数据库配好之后建议先用最小化方式验证整条链路创建一个新工程建立一个模拟设备加几个点位做一幅最简单的画面然后启动运行。画面里放一个数据显示框绑定点位放一个按钮绑定一个置位脚本再用一个趋势曲线控件看历史数据能不能正常记录和回放。这一步的意义在于用最小的成本把 数据采集 → 实时数据库 → 画面显示 → 历史存储 这条主链路验证通。很多项目团队一上来就直接迁移大工程结果出了问题不知道是环境问题还是工程问题排查起来很痛苦。先跑通最小链路后面正式迁移时心里有底。4. 老工程往信创版迁移哪些能直接用哪些必须改4.1 工程文件层面的兼容性把Windows版的老工程迁移到信创版首先要看工程文件的兼容性。KingSCADA的工程包含画面文件、变量表、驱动配置、脚本、报表模板等。我迁移的实际结果大部分画面和变量配置能正常打开但存在几个典型差异需要手动调整。画面字体是最突出的问题。Windows工程里大量使用宋体、微软雅黑信创系统里没有这些字体子系统的字体渲染会做自动替换替换之后可能出现文字位置偏移、字体大小变化、标题被截断。这种问题没有捷径只能一幅一幅画面去检查和调整。建议在迁移前先统一规划一个字体替换方案比如统一改为系统自带的Noto Sans CJK或者文泉驿正黑并重新调整文字框的大小和位置。控件兼容性也是重灾区。Windows版工程里如果用了第三方ActiveX控件比如浏览器控件、播放器控件、自定义报表控件这些在信创版里基本都不能用。组态软件的标准做法是提供一套内置控件迁移时要把这些第三方控件删掉用内置的表格、按钮、显示框替代。一些复杂功能比如网页嵌入、视频播放可能需要单独做Web集成方案这块工作量不小要在计划里预留足够时间。4.2 通信驱动和点位绑定的差异SCADA系统的核心是数据采集驱动这关过不了其他都是空谈。老工程用的通信驱动必须逐一确认信创版是否支持。常用的Modbus RTU/TCP、OPC UA、IEC 104这些基础协议信创版基本都有对应的驱动。但一些特定厂商的协议比如某些PLC的私有协议就要看官方是否发布了信创版驱动。我在一个项目里遇到的问题是老工程用的OPC DA方式采集信创版对OPC DA的支持受限更推荐用OPC UA。现场设备端的OPC Server如果不支持UA协议就需要加一个协议转换网关先转成OPC UA再接入KingSCADA。这个场景在改造项目中很常见评估工作量的时候一定要把这一步算进去。点位绑定方面工程里的变量表如果变量名、寄存器地址、数据类型定义得规范导入信创版后基本能复用。但驱动类型变了点位绑定的驱动通道就要重新配置。我的建议是用Excel把老工程的变量表导出来整理成标准格式再在信创版里通过批量导入功能生成新点位表能省不少时间。4.3 数据库和报表模块的改造老工程的历史数据库如果是SQL Server迁移到信创版后数据库要换成国产库。这不只是连接串改一下的问题还涉及数据库脚本的兼容性。KingSCADA自动建历史表、报警表、操作日志表的SQL语句在老版本里可能用了SQL Server特有语法比如 GETDATE()、TOP N、AT TIME ZONE这些在达梦、人大金仓上不一定兼容。解决办法有两个。第一优先使用KingSCADA信创版自带的历史库初始化功能让它自动生成目标数据库的表结构脚本不要手动在老库上建表。第二如果必须手工迁移老数据要用ETL工具或者SQL脚本做转换字段类型、日期时间函数都要逐项核对。报表功能类似。老工程里用报表控件从SQL Server取数出报表迁移后要重新配置数据源SQL语句里的数据库函数要检查一遍。我遇到的坑是报表里的中文日期格式在SQL Server用 CONVERT(VARCHAR, date, 111) 能格式化但达梦上要改成 TO_CHAR(date, YYYY/MM/DD)否则报表跑出来就是乱码或空值。4.4 脚本和动画链接的兼容性KingSCADA支持VBScript、C脚本、JScript几种脚本类型。老工程里的脚本如果用到Windows特有的API调用、ActiveX对象、本地文件路径这些在信创版里基本都会出问题。一份脚本逐行排查工作量巨大建议先做一次全工程脚本扫描列出所有用到外部对象、文件操作、Shell调用的地方然后逐个改写。我通常的做法是先备份老工程然后在信创版里用编译日志功能打开工程把所有脚本错误一次性列出来按错误类型分类处理。脚本迁移有一些固定套路。比如读文本文件Windows版可能用的是 FileSystemObject信创版要改成Qt风格的文本文件读取方式再比如路径分隔符Windows用反斜杠Linux用正斜杠脚本里如果写死了路径就要统一改。最容易被忽略的是动画链接里的表达式。老工程里很多画面对象的动画链接颜色变化、位置移动、隐藏显示都绑定了条件表达式这些表达式在信创版里如果用到对象名、函数名不兼容动画就不会执行。所以每幅画面迁移完最好把每一个有动画链接的图元都点击一遍逐个验证。5. 上线前最容易被忽略的坑实测与排查记录5.1 中文乱码与字体问题的排查链路信创环境下中文乱码是一个高频问题容易出在很多环节。最常见的是画面文字乱码、历史报表中文乱码、报警信息中文乱码。这三类问题的排查思路不同。画面文字乱码基本是字体缺失导致的。排查方法在系统里打开字体管理器确认是否安装了中文字体如果没有先安装 fonts-noto-cjk 或文泉驿字体。安装完字体后回到KingSCADA工程里把所有画面对象的字体统一替换成已安装的中文字体问题基本能解决。历史报表中文乱码优先查数据库字符集。在ODBC连接串里加上字符集参数比如达梦的连接可以指定 UTF8然后重启KingSCADA的数据采集服务重新写入历史数据再查询验证。报警信息乱码要先查报警消息文本本身的编码。老工程里报警消息如果有中英文混排建议在信创版里重新录入一遍报警文本避免从老工程里带过来编码不一致的字符串。我曾经排查过一个诡异的问题报警画面平时显示正常但打开某个历史报警窗口就乱码。最后发现是那个窗口的报表控件用了独立的字体设置它显示的字体在信创系统里没有系统回退到了一个不支持中文的字体。所以排查乱码时不要只看全局设置控件级的字体属性也要逐一检查。5.2 画面刷新率与动画渲染性能信创环境下的硬件配置参差不齐画面性能问题很常见。具体表现是画面切换慢、图元拖动卡顿、动画效果不流畅、大规模数据显示时CPU占用飙高。造成这个问题的原因有两个层面。一是GPU驱动不完善。部分信创终端用的是国产GPU或者核显OpenGL驱动支持不完整组态软件如果用了硬件加速渲染反而会出问题。KingSCADA信创版一般有渲染模式设置如果遇到画面卡顿可以尝试把渲染模式从GPU加速切换到软件渲染或者关掉画面特效。二是画面本身设计太重。老工程里如果放了很多高分辨率大图、位图按钮、复杂的矢量形状画面加载就会慢。这个要在工程侧优化大图压缩成适合屏幕分辨率的大小位图按钮尽量改用内置矢量图库去除不必要的透明效果和阴影。实际操作下来一屏二三十个图元的画面优化前后加载速度差距能大到两倍以上。补充一句如果项目点位特别多比如上万点还需要关注实时数据库的扫描周期。扫描周期设得太快信创主机可能扛不住。建议根据工艺要求合理制定扫描周期不是越快越好。5.3 设备通信偶发中断的排查信创版上线后出现通信偶发中断是一个比较隐蔽的问题。表现是设备数据一段时间不刷新过一会儿又自己恢复了看驱动日志会发现连接断过又重连。这种问题在Windows版项目里不常见到了信创环境反而多了一些。排查思路从三层入手。第一层看物理链路和网络配置网卡驱动是否正常、网线是否松动、交换机端口是否有双工自适应问题。第二层看操作系统层面的限制Linux部分系统版本对网络连接有超时限制如果通信链路长时间空闲可能会被系统清理需要修改系统层面的keepalive参数。第三层看KingSCADA驱动自身的通信超时设置把超时时间和重试次数适当调大能有效减少偶发断连的停机感。另外串口通信场景下还有一个Linux专属的坑默认用户对串口设备没有读写权限。如果现场用串口采集仪表数据启动运行环境时发现打开串口失败先检查当前用户是否加入了 dialout 用户组。用 usermod -aG dialout 用户名 命令把自己加进去重新登录后才能生效。这个问题网上很少被专门提出来但实际遇到的人不在少数。5.4 双机冗余与时钟同步在信创环境下的差异SCADA系统里双机冗余是标配信创版也支持双机冗余但部署有一些细节要注意。最典型的是双机时钟同步Windows环境下通常用NTP服务信创环境下可以通过配置 chrony 服务实现时钟同步如果没有统一步调主备机时间差会导致报警时间错乱、历史数据时间戳混乱。配置方法在主备两台信创主机上安装chrony指定一台NTP服务器可以是外部时钟源也可以是局域网内的一台时钟服务器然后启用服务并设置开机自启。验证方式是在两台机器上执行 date 命令看时间是否一致。时间偏差尽量控制在1秒以内如果偏差超过几秒冗余切换时会出问题。还有一点双机冗余的切换测试要在信创环境里单独做一轮不能想当然地认为Windows版测试通过就万事大吉。实际测试时把主机的网线拔掉看备机能否在设定时间内接管数据采集和画面显示同时观察画面上的冗余状态指示是否正确。6. 给后来者选型参考与项目实施建议6.1 评估信创版时先问自己五个问题在决定用KingSCADA4.0信创版之前我建议技术负责人先回答几个问题。第一现有工程用到的所有通信驱动信创版是否都有对应支持第二历史数据库是否必须用国产库如果老系统离不开SQL Server信创版在混合架构下怎么处理第三画面里有没有重度依赖ActiveX控件或Windows特殊功能的模块第四Web发布是不是必备功能如果是中间件选型是什么第五现场硬件架构是ARM还是x86授权的License绑定关系是什么这五个问题不一定全部都在选型阶段能回答清楚但如果到项目中期才发现某个驱动不支持或者某个控件没法替换返工成本会很高。所以哪怕多花点时间也要把这些问题答完再走正式流程。6.2 与厂商配合的节奏建议信创版再成熟也还是需要和原厂技术支持保持沟通。我的建议是项目启动前就把厂商技术支持拉到项目群把信创环境的具体版本、CPU架构、数据库类型发过去让厂商提前确认是否是验证过的组合。遇到问题不要自己闷头排查及时提工单保留沟通记录。实施过程中遇到驱动、数据库适配、脚本兼容这些层面的问题优先让厂商给出官方答复不要自己拍脑袋改内核配置。有一些临时性workaround虽然能跑但后续升级版本时可能会被覆盖或引发新的不一致一定要做好记录。如果项目规模比较大建议找一个点位不超过一千个的小系统先做信创版试点验证稳定后再推广到全部系统。这个策略虽然保守但在工业现场是最稳妥的。我见过一上来就要把整套几百幅画面的大系统一次性迁过去的中间遇到无数兼容问题进退两难。6.3 一点个人体会最小化验证是信创改造的护身符我做了几个信创改造项目后最大的体会是多数问题的根因并不是KingSCADA信创版本身不行而是环境适配和工程迁移的方法不够严谨。很多坑都是因为跳过了最小化验证、直接在大工程上调试造成的。所谓的最小化验证就是我前面提到的新建一个最简单工程用一个模拟设备几个点位一幅画面把整个数据链路完整跑通。这个过程表面上看起来慢实际上能帮你快速分辨问题出在哪个层面。是系统缺库是驱动没装好是数据库字符集不对还是脚本语法不被支持一下子就能定位出来。另外在信创环境里做工程开发要注意备份节奏。信创版工程文件的存储格式和老版可能不完全一样用U盘拷贝和归档时要确认文件能完整读写。我习惯用项目级压缩包的形式备份整个工程目录而不是只拷单个文件这样能避免漏掉关联文件。最后分享一个小技巧信创环境下做完工程迁移后把系统的字体包、ODBC驱动、数据库客户端工具、必要的调试命令统一整理成一个环境运维手册交接给现场运维人员。工业现场不像办公室网络隔离、驻场条件都有限这本文档能帮运维人员在最急需的时候快速定位问题也给项目收尾减少很多沟通成本。本文还有配套的精品资源点击获取