Node-RED OPC-UA Server仅支持Double类型?求助排查问题
解决node-red-contrib-opcua-server Integer/String类型变量无法显示的问题
针对你遇到的问题,结合1.1.1版本的node-red-contrib-opcua-server特性,排查方向如下:
确认OPC UA标准数据类型的正确标识符
该节点的dataType字段需要严格匹配OPC UA标准类型名,不要使用自定义写法:- Integer类型请使用
Int32(最常用的32位有符号整数,对应JS的Number整数范围),而非Integer或DataType.Integer;若需无符号整数则用UInt32 - String类型直接写
String即可
- Integer类型请使用
确保传入变量的JS类型与OPC UA类型匹配
- Int32类型:必须传入JS整数类型的值,比如
msg.payload = 123;如果从字符串转换,要保证parseInt返回有效整数(避免NaN,可加默认值如parseInt(rawValue, 10) || 0),不能传入浮点数(比如123.0会被节点判定为类型不匹配) - String类型:必须传入JS字符串类型的值,比如
msg.payload = "hello";若为其他类型需显式转换,比如String(123)
- Int32类型:必须传入JS整数类型的值,比如
检查变量节点的配置细节
- 在OPC UA Server节点的变量配置中,通过下拉菜单选择
dataType,不要手动输入(手动输入易出现拼写错误) - 确保给变量设置合法的初始值:Int32初始值设为
0(整数),String初始值设为""或具体字符串,不要留空或设置不匹配类型的值
- 在OPC UA Server节点的变量配置中,通过下拉菜单选择
部署与客户端刷新步骤
- 修改配置后,必须点击Node-RED的部署按钮,确保配置生效
- OPC UA客户端需要重新连接服务器,或刷新节点浏览树,避免缓存旧的节点信息
排查日志信息
打开Node-RED的控制台日志(终端窗口),查看是否有类型不匹配的错误提示,比如Type mismatch或Invalid value for data type,这些日志能直接定位问题
内容的提问来源于stack exchange,提问作者Init5
相关产品推荐
相关产品推荐

