简介:本资源为国产工业级SCADA系统KingSCADA 3.8正式安装包(含配套IO驱动模块3.8SP1),面向自动化工程师、DCS/PLC系统集成人员及工控院校师生,解决工业现场实时监控、数据采集与远程控制等核心需求,广泛适用于电力、石油、化工、制造等流程工业场景。压缩包共2788个文件,总计799.99MB,涵盖733个DLL动态库(系统运行与通信驱动核心)、506个PNG与419个ICO图形资源(界面与图元组件)、109个EXE可执行程序(主服务、配置工具、授权管理器等)、150个DB数据库文件(历史数据存储与报警记录)以及大量XML、INI、KGN工程配置文件,完整支撑从部署、组态到调试的全流程。已有5387人学习下载,资源包含开箱即用的全量组件——含OPC UA/MODBUS协议驱动、标准图库、帮助文档(CHM)、示例工程(KXPRJ/KDR)及多版本签名证书(CAT/POLICY/DER),目录结构规范,便于按模块定位驱动、配置或日志文件,是开展工控系统二次开发与工程实践的可靠基础环境。
1. KingSCADA 3.8 + IO Server 3.8 SP1:一套老但真能跑通工业现场的组态环境,装错版本连工程都打不开
你手头有一份某高校实验室传来的 .prj 工程文件,后缀是 KingSCADA 3.8 格式;或者你在某模拟项目X的部署文档里看到明确写着「依赖 IO Server 3.8 SP1」——这时候别急着点安装包。我见过太多人直接双击KingSCADA_Setup.exe,一路下一步,结果启动时弹窗报错:“无法加载核心模块 KCore.dll” 或 “IO Server 服务未注册”,再一看服务列表里KingIOService状态是“已停止且无法启动”。根本原因不是系统不兼容,而是这套组合对版本咬合度极其苛刻:3.8 主程序必须配 3.8 SP1 的 IO Server,差一个补丁号(比如 SP0 或 SP2)都会导致驱动层通信中断、变量无法映射、历史数据写不进数据库。它不像新版本那样有向后兼容提示,而是一个沉默的黑匣子——没报错,但所有画面里的实时值永远是 0。适合谁?产线调试工程师、教学实训平台搭建者、接手老旧改造项目的维护人员——你要的不是炫酷界面,而是今天下午三点前让 PLC 数据稳稳刷在画面上。
2. 安装前必做三件事:确认系统基线、清理残留、准备签名证书
2.1 确认 Windows 版本与 .NET Framework 依赖
KingSCADA 3.8 是典型的 Windows Desktop 应用,仅支持 Windows 7 SP1 / Windows 10 1809~22H2(64位),不支持 Windows 11(哪怕启用了兼容模式)。尤其注意:Windows 10 22H2 默认禁用 TLS 1.0/1.1,而 KingSCADA 3.8 的部分通信组件(如 Modbus TCP 初始化握手)仍依赖 TLS 1.1。若跳过此步,后续 IO Server 启动时会卡在“正在连接配置服务器”长达 30 秒后超时。
验证命令(管理员权限运行 PowerShell):
# 查看系统版本 systeminfo | findstr /B /C:"OS Name" /C:"OS Version" # 检查 .NET Framework 3.5(必需)和 4.8(推荐) Get-WindowsOptionalFeature -Online -FeatureName NetFx3 | Select State (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -ge 528040提示:若
.NET Framework 3.5显示Disabled,需先启用:DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs(D: 为 Windows 安装盘)
2.2 彻底清除旧版残留(血泪经验:注册表+服务+文件三清)
很多翻车源于上一次安装失败后残留的 COM 组件或服务项。KingSCADA 3.8 使用自注册 DLL 机制,若KCore.dll、KIO.dll在C:\Windows\SysWOW64\下存在旧版本,新安装程序不会覆盖,而是静默跳过注册——这就是“安装成功但打不开工程”的根源。
执行以下清理步骤(按顺序,缺一不可):
- 停止并卸载服务:
net stop KingIOService sc delete KingIOService net stop KingSCADAServer sc delete KingSCADAServer - 删除注册表项(备份后操作):
打开regedit,定位并删除:HKEY_LOCAL_MACHINE\SOFTWARE\KingView\KingSCADA\3.8HKEY_CLASSES_ROOT\CLSID\{A1B2C3D4-E5F6-7890-1234-567890ABCDEF}(该 CLSID 对应 KCore.dll,实际值见安装包内RegInfo.txt)
- 物理删除残留目录:
rmdir /s /q "C:\Program Files (x86)\KingView\KingSCADA" rmdir /s /q "C:\ProgramData\KingView\KingSCADA" del /f /q "%windir%\SysWOW64\KCore.dll" del /f /q "%windir%\SysWOW64\KIO.dll"
注意:
C:\ProgramData是隐藏目录,需在文件资源管理器地址栏直接粘贴路径访问。
2.3 准备数字签名证书(绕过 SmartScreen 拦截的关键)
KingSCADA 3.8 安装包未经过微软 EV 代码签名,Windows Defender SmartScreen 会拦截Setup.exe并标记为“未知发布者”。这不是病毒,而是老工业软件的通病。强行点击“更多信息→仍要运行”可能触发 UAC 多重弹窗,导致安装向导中途崩溃。
正确做法:
- 右键
Setup.exe→ 属性 → 数字签名 → 查看证书 → 详细信息 → 复制“颁发者”字段(通常是KingView Software Co., Ltd.) - 下载并安装该证书到本地计算机的“受信任的根证书颁发机构”:
# 将证书导出为 kingview.cer 后执行 certutil -addstore "Root" kingview.cer - 重启资源管理器(任务管理器 → 重启
explorer.exe),再运行安装程序。
3. 分步安装:主程序、IO Server、SP1 补丁的精确顺序与参数
3.1 安装 KingSCADA 3.8 主程序(非默认路径!)
绝对不要使用默认安装路径C:\Program Files (x86)\KingView\KingSCADA。原因:路径含空格和括号,会导致后续 IO Server 配置脚本中PATH解析失败(尤其在调用KIOConfig.exe时)。
安装步骤:
- 以管理员身份运行
KingSCADA3.8_Setup.exe - 在“选择安装位置”页,手动输入:
C:\KingSCADA38(全英文、无空格、无特殊字符) - 取消勾选“安装 KingView Web Server”(3.8 的 Web 模块与现代浏览器兼容性极差,且非必需)
- 完成安装后,立即验证核心 DLL 注册:
cd C:\KingSCADA38\Bin regsvr32 /s KCore.dll regsvr32 /s KIO.dll逻辑说明:
/s参数静默注册,避免弹窗干扰;KCore.dll是引擎核心,KIO.dll是 IO 通信桥接,二者缺一不可。若报错“模块加载失败”,说明系统缺少 VC++2015 运行库,需单独安装vcredist_x64.exe(包内Redist目录下)。
3.2 安装 IO Server 3.8(独立安装包,非主程序内置)
IO Server 是 KingSCADA 的数据采集心脏,它以 Windows 服务形式运行,负责与 PLC、仪表等设备通信。3.8 版本必须使用独立发布的IO3.8_Setup.exe,而非主程序安装包里的IO_Server子目录——后者是精简版,缺少ModbusRTU和OPC DA Client驱动。
关键配置项:
- 安装路径:
C:\KingIO38(与主程序同级,便于后期路径引用) - 服务账户:必须选择“本地系统账户”(而非“网络服务”),否则无法访问串口(COM1-COM4)和部分 USB 转串口设备。
- 防火墙:安装过程会自动添加入站规则,但需手动确认
TCP 50000端口(IO Server 默认通信端口)已放行。
验证服务状态:
sc query KingIOService # 正常返回应包含 STATE : 4 RUNNING3.3 应用 SP1 补丁(覆盖式替换,非增量更新)
IO3.8_SP1.exe不是传统意义的补丁程序,而是一个完整覆盖包。它会替换C:\KingIO38\Bin\下全部 12 个核心文件(包括KIOService.exe,KIODriver.dll,KIOConfig.exe),但不会修改注册表或服务配置。因此必须在 IO Server 服务停止状态下操作。
操作流程:
- 停止服务:
net stop KingIOService - 运行
IO3.8_SP1.exe,指定路径为C:\KingIO38 - 补丁完成后,重新注册关键 DLL:
cd C:\KingIO38\Bin regsvr32 /s KIODriver.dll regsvr32 /s KIOConfig.dll - 启动服务并检查日志:
net start KingIOService # 查看日志:C:\KingIO38\Log\IOService.log,末尾应出现 "Service started successfully"
参数说明:
KIODriver.dll包含所有协议驱动(Modbus、Siemens S7、Omron Host Link),KIOConfig.dll是配置工具底层,SP1 重点修复了 S7 协议在 Win10 22H2 下的超时问题。
4. 配置避坑指南:三个最易踩的致命错误与自救方案
4.1 现象:工程打开后所有变量显示“???”,IO Server 日志报 “Driver not found for device type: MODBUS_RTU”
原因:SP1 补丁未正确注册KIODriver.dll,或安装时选择了错误的 CPU 架构(32位补丁装在64位系统)。KingSCADA 3.8 全系为 64位应用,所有 DLL 必须为 x64 版本。
解决:
- 进入
C:\KingIO38\Bin,右键KIODriver.dll→ 属性 → 详细信息 → 查看“文件版本”是否为3.8.1.xxx(SP1 特征) - 若版本正确,用
Dependency Walker(包内Tools\Depends.exe)检查其依赖项,重点确认MSVCR120.dll(VC++2013)是否存在 - 重新执行
regsvr32 /s KIODriver.dll,若报错“模块不兼容”,说明 DLL 架构错误,需换回官方提供的 x64 补丁包
4.2 现象:画面刷新率极低(>5秒/次),CPU 占用率持续 95%
原因:IO Server 配置中启用了“自动扫描所有串口”,而系统存在虚拟串口(如 USB 转串口驱动未卸载干净)或被占用的 COM 端口。KingSCADA 3.8 的串口探测逻辑会逐个尝试打开 COM1-COM255,每次超时 1 秒,拖垮整个 IO 循环。
解决:
- 运行
C:\KingIO38\Bin\KIOConfig.exe - 进入“系统设置” → “串口管理”,取消勾选“启用自动串口扫描”
- 手动在“设备管理器”中确认实际使用的 COM 号(如 COM3),并在工程中设备配置里精确填写
4.3 现象:历史数据无法存储,C:\KingSCADA38\History\目录为空
原因:历史服务(KingHistoryService)未启动,或数据库路径权限不足。KingSCADA 3.8 的历史服务默认以LocalSystem账户运行,但C:\KingSCADA38\History\目录若由普通用户创建,LocalSystem无写入权限。
解决:
- 检查服务:
sc query KingHistoryService,若状态非 RUNNING,则手动启动 - 修复权限:右键
C:\KingSCADA38\History→ 属性 → 安全 → 编辑 → 添加SYSTEM用户 → 勾选“完全控制” - 强制重建索引:运行
C:\KingSCADA38\Bin\KHistTool.exe /rebuild
4.4 现象:从 Windows 10 22H2 升级后,IO Server 启动即崩溃,事件查看器报错 “Application Error: KIOService.exe, Exception Code: 0xc0000409”
原因:Windows 22H2 新增的堆栈保护机制(Control Flow Guard)与 KingSCADA 3.8 的旧版编译器(VC++2013)不兼容,导致内存访问违规。
解决:
- 下载微软官方工具
DisableCFG.zip(包内Tools\目录) - 以管理员运行:
DisableCFG.exe "C:\KingIO38\Bin\KIOService.exe" DisableCFG.exe "C:\KingSCADA38\Bin\KingSCADA.exe" - 重启 IO Server 服务
5. 验证与联调:用一个真实 Modbus RTU 工程跑通全流程
5.1 准备最小可验证工程(MVE)
我们不用复杂项目,只建一个 3 变量工程:
- 设备类型:Modbus RTU
- 串口:COM3(波特率 9600,无校验)
- 变量 1:
PLC_REG_40001,地址40001,类型INT - 变量 2:
PLC_REG_40002,地址40002,类型FLOAT - 变量 3:
PLC_COIL_00001,地址00001,类型BOOL
提示:此工程结构在
C:\KingSCADA38\Sample\Modbus_RTU_Sample.prj中已预置,直接复制到工作目录即可。
5.2 IO Server 端配置四步法
- 添加设备:
KIOConfig.exe→ “设备管理” → 新建 → 类型选Modbus RTU→ 端口填COM3 - 配置寄存器映射:右键设备 → “寄存器配置” → 添加:
寄存器名 地址 类型 长度 4000140001 INT 1 4000240002 FLOAT 2 000011 BOOL 1 - 启用设备:设备列表中勾选“启用”列
- 保存并重启服务:
net stop KingIOService && net start KingIOService
5.3 KingSCADA 主程序联调验证
- 启动
C:\KingSCADA38\Bin\KingSCADA.exe - 打开
Modbus_RTU_Sample.prj - 进入“在线运行”模式(快捷键
F5) - 观察画面右下角状态栏:
- 若显示
IO: OK且PLC_REG_40001值随 PLC 变化实时刷新 →通信层通过 - 若
PLC_COIL_00001点击后 PLC 实际线圈动作 →写操作通过 - 若
C:\KingSCADA38\History\下生成20240515.his文件且可用KHistViewer.exe打开 →历史层通过
- 若显示
5.4 故障快筛表:5 秒定位问题层级
| 现象 | 检查点 | 命令/路径 | 预期结果 |
|---|---|---|---|
画面空白,状态栏无IO: OK | IO Server 服务状态 | sc query KingIOService | STATE : 4 RUNNING |
| 变量值恒为 0,但 IO Server 日志无报错 | 设备启用状态 | KIOConfig.exe→ 设备列表“启用”列 | 勾选状态为 ✓ |
| 点击写变量无响应,PLC 无动作 | 写权限配置 | KIOConfig.exe→ 设备属性 → “允许写入” | 勾选 |
| 历史数据文件存在但打不开 | 历史服务状态 | sc query KingHistoryService | STATE : 4 RUNNING |
所有变量显示***(三颗星) | 工程版本兼容性 | 工程属性 → “兼容版本” | 必须为3.8,非3.7或3.9 |
从那以后我每次接手一个 KingSCADA 3.8 项目,第一件事就是打开记事本,把这五条命令抄下来,贴在显示器边框上——不是为了省事,而是因为漏掉任何一条,后面两小时都在猜“到底是驱动没装还是端口被占了”。这套组合确实老,但它在产线稳定跑了七年,就凭这点,值得你花四十分钟把它装对。希望帮到你。
本文还有配套的精品资源,点击获取