SMDDevice.conf 是SMDDevice启动的配置文件
配置文件配置的内容,可以被命令行相同参数覆盖,主要用于临时调试,程序终止后自动启动的程序会继续使用配置文件的内容。
参数列表:
参数 | 使用方式 | 说明 |
---|---|---|
help, h | –help 或 -h | 显示帮助,参数说明,英文的, EISU上会崩溃,原因不明 |
qws | –qws | 当SMDDevice作为嵌入式设备的控制软件并且集成了QT界面的时候,需要传递–qws来同时启动qt界面。当仅仅作为FSU控制软件的时候,不需要传此参数。 |
version,v | –version或-v | 显示SMDDevice编译时间版本,主要更新用于区分版本 |
watchdog,w | –watchdog或-w | 关闭软件看门狗。由于SMDDevice默认启动看门狗并且会定时喂狗,一旦启动,无法禁用,只能重启,在某些调试的时候,会造成板子1分钟重启一次。本选项可以使SMDDevice启动时不激活看门狗。注意:目前在301E,302A上有效。303和303mini系列不确定,有可能使用独立的sh脚本喂狗。 |
first_time | –first_time | 用于表示SMDDevice第一次启动,主要用于通知服务器端板子已经重启,我们是第一次启动,这时服务器端做比如烟感恢复等动作。 |
save_history | –save_history | 启动FSU的历史数据保存功能。当启用时,device_history表会保存被采集设备的数据包,同时FSU网站可以查看历史数据。什么时间保存历史数据功能是由驱动决定的,间隔也是驱动的逻辑参数可调的。启用此功能需要注意FSU的NAND空间是否充足,必要时需要将数据库SMDDevice.db转移到SD卡,并在NAND下留有配置备份,以实现长达数月时间的保存,当SD卡损坏时,虽然历史数据丢失,但可使用NAND备份的数据库快速恢复FSU的配置和功能。 |
server_addr | 私有:君光私有服务器的IP地址,用于fsu数据和服务上传使用。君光私有服务器和SMDDevice的代码同根同源,驱动代码和数据结构共用,且经过实际的大型应用测试,效率最高。如果没有特别的对接协议需要,选择私有服务器部署都是好的,还有docker打包。 | |
central_server_addr | 私有:君光私有服务器的中心化部署,适用于FSU同时接工控屏和集中服务器的场景。此时SU会同时向2台服务器送数据。 | |
cache_prefix | 用于定制缓存key的前缀,通常数据存储都是以data_id来保存的,当配置cache_prefix后,比如abc,则key为abc:data_id,主要为了根据业务系统要求调整 | |
cache_server_ip | 缓存服务器的IP地址 | |
central_cache_server_ip | 私有:中心缓存服务器的IP地址,可以双送数据到缓存。适应有些中心平台部署没有后台,只有网站,这样也能查看数据。 | |
broker_server_ip | 私有:分布式部署的负载分配节点的IP,UDP协议 | |
server_port | 私有:君光服务器的端口,默认是12001. | |
bind_port | 私有:SU的君光协议服务器端,需要中心服务器主动连接SU,默认端口6666, 一般不用,应用中没有发现实际用途。 | |
thrift_port | SU的网站和SMDDevice下发命令的接口,thrift开发库,默认端口9000 | |
device_id | 私有:默认的设备ID,需要从平台网站查询。 老型号可用,新型号,已经被FSU网站的数据ID配置覆盖。 | |
pd_count | 板载电表数。0-4。没有插板载电表时,配置为0。 | |
ai_noise | ai_noise=10 | 数组类型,从第一个代表通道0。 微调板载AI通道的噪音,就是原始采样值减去这个配置值,一般取值10,15, 异常时可能200。 适用与301E和302A。 |
k_noise | k_noise=1 | 数组类型,从第一个代表通道0。303X系列后对AI通道的调节,采用y = k*x+b的方式。注意:随着联通白盒化标准驱动的集成,ai和di的采集由驱动直接输出,噪音等问题由标准驱动调整,不再需要SMDDevice进行调通白盒化驱动由于标准简单,已经作为后续fsu的默认硬件适配方式。 |
b_noise | b_noise=0 | 数组类型,从第一个代表通道0。 |
board_version | 逐渐废弃。以往是靠这个区分程序是在哪个型号的采集器上运行,后续由于白盒化标准驱动的集成,FSU控制器软件直接面对白盒化标准的接口数量,不再关心设备型号。 目前有用,比如11不会采集AI,12需要配合gfsu2使用 | |
refresh_interval | 串口采集的刷新频率:1代表1秒。这个代表每次调度采集的间隔,当配置时间过短而上一次采集没有完成时,会自动跳过本轮,不影响正常的采集动作。 | |
save_interval | 默认保存历史数据的间隔,单位秒 | |
sp_loop | sp_loop=1 | 数组类型,从第一个代表串口0。激活连续采集。正常情况下,比如每轮采集是5秒,但是串口0的设备在2秒就完成了所有采集,剩下3秒在休眠。激活本选项后,本端口将不会休眠,采集完成一轮将直接开始下一轮采集,不受refresh_interval影响。 |
sp_monitor | sp_monitor=1 | 数组类型,从第一个代表串口0。启动监听模式。监听模式是君光独有的一种采集方式,当FSU已经有一个采集软件在进行设备的数据采集时,此时SMDDevice再进行数据的召测会造成冲突,两边都会数据掉线。此时通过激活监听模式,SMDDevice会同步获取到对方的召测命令和回复,配合驱动调整,就可以完成数据的采集。适用于FSU改造,利旧等场景。监听模式的启动需要额外的准备工作,对于linux系统的FSU基本都可以适用。 |
enable_sp_hook | enable_sp_hook=0 | 监听模式使用:激活监听模式。1. 内核驱动模式 2.钩子模式 |
fsu_model | FSU的硬件适配模型,用于告诉SMDDevice当前硬件的接口配置:当前支持:gfsu,gfsu2, smd303x,smd303mini,znvig2100,znvig2000, znv_eisu, dgm, unicom_su其中配置为unicom_su时,SMDDevice根据白盒化标准自动识别配置,unicom_su已经代替smd303x和smd303mini作为君光FSU的默认配置。对其他没有进行联通白盒化适配的FSU,可以继续自行适配各自型号。 | |
controller | controller=modbus_server控制器软件是个modbus服务器,把数据转成modubs服务器导出。 | 当作为仪表控制器软件时,由于SMDDevice只是负载采集告警和控制,具体仪表的业务逻辑还需要一个控制器实现,就是这个。 |
sample_thread_num | sample_thread_num=10 | 采集线程池的线程数量。默认建议值10。考虑:这个是用来控制实时采集数据调度的线程池,一般情况下应超过本机支持的串口数量并为DI,AI,DO,电表留有余量,如果发现采集不顺利,没有数据,可以调高。当激活全部26个串口时,应设置为30以上?放入本线程池的动作都应该是实时调用。 |
work_thread_num | work_thread_num=20 | 后台线程池的线程数量。默认建议值20. 考虑:这个是执行告警判断,数据保存等慢动作。即使是慢动作,也要考虑CPU的承受能力,尤其FSU上,主频不高。 |
log_threshold | SMDDevice在shell直接时,打印告警判断日志 | |
log_driver | 打印加载设备协议驱动日志 | |
log_sp | 打印串口调试数据日志,需要配合sp_debug | |
sp_debug | sp_debug=1 | 数组类型,串口从0开始(用户一般说1开始),sp_debug=0表示启动串口0的调试打印,sp_debug=5表示启动串口5的调试打印。 |
log_dev | 打印设备管理日志,主要是电能相关 | |
log_database | 打印数据库操作相关日志 | |
log_fial | 打印FSU适配层相关日志,主要用于查看FSU采集的原始值 | |
ws_port | 默认81 | 网页串口数据调试连接的websocket端口 |
env_mode | 环境设备模式 | 烟感水浸温湿度的告警和信号会收敛到一个虚拟机房环境设备下 |
b_mode | 1 是联通, 2电信 | |
b_mode_port | 默认8080 | B服务器的端口,用于B接口增强模式解决PHP性能不足问题 |
b_mode_worker | 默认5 | B服务器的并发数 |
cache_driver | memcached,redis | 目前由于FSU的性能不高,memcache相比redis没有明显优势,但redis确可以重启不丢数据,未来考虑默认redis |
常用的调试参数: