耗时:
配置安灯模块的前提是系统需完成MQTT模块的集成,有关MQTT相关的集成工作请参见MQTT服务集成工作。初始化安灯设备网络1.将安灯连接USB电源,使用笔记本电脑连接HC-25…开头的WIFI。2.查看笔记本获取的IP地址(例如:192.168.4.23),用浏览器访问该地址的默认网关(例如:192.168.4.1)。3.打开安灯系统配置页面:4.默认没有密码,点击登录后弹窗再点确认后进入配置页面:5.修改WiFiMode为STA,后面的地址类型网络名称等请按照实际WiFi配置。注意:此设备芯片不支持带中文字符的WiFi网络,请确保网络名称没有中文字符或其他非英文数字字符。若将WiFiMode设置为AP+STA则会增加设备功耗,并且过多的WiFi网络会影响现场网络环境,引起不必要的数据丢包问题。6.打开路由器管理界面,找到名称以HC-…开头的设备,查看该设备的IP地址,在浏览器中输入该IP地址后重新登录安灯设备的管理界面。7.修改Socket参数,类型为Client,协议选择MQTT,远程IP端口填写MQTT服务的IP与端口。8.修改MQTT参数:Clientid随机生成的,可以随意修改,但各个安灯不要重复Username和password按照MQTT服务配置填写,若无则不要填写订阅主题QOS填写2(消息仅处理一次的意思)订阅主题按照内容填写:主题说明StatusFacility设备异常StatusQuality质量异常StatusEmployee人员异常StatusMaterial物料异常如果是单独监听某台设备的异常信息则可以在StatusFacility后加上“/FacilityCode”,例如:StatusFacility/FAC0001,则此安灯仅监视对应设备码为FAC0001的状态信息。推送消息QOS和推送主题默认即可,无需修改。发送心跳时间默认60秒,用于服务确认设备是否在线,无需修改。点击保存后提示要重启模块,选择确定。重置设备网络若在配置过程中出现意外导致设备无法联网,或者WiFi发生变化需要重置安灯网络的,请按照如下步骤重置:1.逆时针旋转打开设备保护盖,摘下白色灯罩,露出电路板和灯珠:注意:此时可以看到一个小按钮,这个按钮是用来测试灯珠是否正常的,按下去灯珠会点亮/闪烁/关闭,此按钮并不能重置网络。2.向上稍微拔出一点电路板,露出网络模块:长按网络模块上的按钮,直到模块上的蓝色小灯等开始快速闪烁,表明网络已经重置成功。3.将灯装回后,按照流程重新配置网络信息。配置异常处理流程1.打开MES系统后台,找到“表单管理”菜单,添加四种表单:表单名称表单类型表单地址主表名称设备异常单系统单据System/Abnormal/EditModel?id={{Id}}Sys_Abnormal人员异常单系统单据System/Abnormal/EditModel?id={{Id}}Sys_Abnormal物料异常单系统单据System/Abnormal/EditModel?id={{Id}}Sys_Abnormal质量异常单系统单据System/Abnormal/EditModel?id={{Id}}Sys_Abnormal示例如下图所示:2.找到流程模板管理页面,添加异常单据处理流程:可在模板编辑中添加回调内容,例如:将回调类型选择数据库存储过程回调内容填写:updateSys_AbnormalsetStatus=1whereId={{FormId}}其中Sys_Abnormal的Status字段表示异常处理单的状态,含义如下:Status值说明灯的颜色0新建红色1处理中黄色2已完成绿色其中{{FormId}}表示系统会将此内容替换成对应处理单据的Id号。亦可在步骤中设置回调内容,原理同上。由此可以自定义各异常处理单的处理流程和步骤,以及和安灯系统的联动。3.后台的异常单查看和处理,请添加异常单的菜单:菜单名称URL设备异常System/Abnormal/Index?billtype=Facility人员异常System/Abnormal/Index?billtype=Employee质量异常System/Abnormal/Index?billtype=Quality物料异常System/Abnormal/Index?billtype=Material在异常单据中点击编辑,可进入处理页面,按照流程设定好的用户点击处理,系统会按照设定好的步骤进行流程流转。
一、钉钉开放平台的准备工作仔细阅读钉钉提供的开发文档:https://open.dingtalk.com/document/orgapp/learning-map注册开发者账号:请确保您已拥有钉钉开放平台的开发者账号,如果没有,请联系你企业的管理员赋予您相应的权限。建议使用企业所有者或管理员账号注册,避免接下来操作的权限问题。创建企业内部应用,登录钉钉开放平台,在“应用开发”中选择“企业内部开发”,然后点击“创建应用”。根据提示填写应用名称、应用图标等必要信息后提交审核(如果是自用型的企业内部应用,通常可快速通过审核)。审核通过后,会得到应用的相关信息,如AppKey和AppSecret,这是后续集成过程中非常重要的参数。同时可以打开鸿蒙系统适配开关,MES系统已适配鸿蒙Next环境运行。在应用能力中添加网页应用:应用首页地址设置为MES的APP地址,PC端首页地址和管理后台地址均设置为MES的首页地址,注意不要设置为登录地址,否则会导致每次都请求自动登录,消耗不必要的接口资源。应用相关权限管理:目前需要的权限有:个人权限(个人手机号信息、通讯录个人信息读权限),通讯录管理(企业员工手机号信息、邮箱等个人信息、通讯录部门信息读权限、维护通讯录的接口访问权限、成员信息读权限、通讯录部门成员读权限、),考勤(调用企业API基础权限),身份验证(企业微应用后台免登接口的访问权限),获取凭证(获取钉钉开放接口用户访问凭证的基础权限),待办任务(待办应用中待办写权限、待办应用中待办读权限),场景群(钉钉群基础信息管理权限),机器人(企业内机器人发送消息权限、单聊机器人使用管理权限)。在安全设置中完成对系统的重定向URL和Webview可信域名设置:直接发布版本:至此钉钉开放平台已完成设置。您可以将应用添加到工作台。具体步骤参考钉钉官方文档:https://open.dingtalk.com/document/orgapp/set-application-visible-range二、MES系统设置与钉钉集成系统需要您的MES服务器有外网访问权限,至少能访问钉钉相关服务接口,否则无法正常使用。打开系统管理页面,进入系统设置,将开放平台凭证信息填入钉钉企业内部集成参数。小程序相关的可不填。点击测试,如能正常连接说明参数填写正确,否则请与钉钉开放平台核对参数。在菜单管理中对部门管理页面和人员管理页面添加同步按钮。部门管理页面新增同步按钮btn_SyncDeptByDing,用户管理页面新增同步按钮btn_SyncUserByDing。添加后可以点击按钮将钉钉的组织架构和人员用户信息同步到MES系统中。由于钉钉接口限制,您必须先同步部门信息,然后才可以同步用户信息。至此完成账号同步后赋予账号相应的角色权限即可在钉钉中正常使用。注意钉钉同步的账号信息无法使用系统自带的登录功能进行正常登录,必须在钉钉应用内使用。如您需要脱离钉钉应用环境使用钉钉同步的用户账号,请联系您的专属顾问进行脱离处理。三、测试分别在电脑上和手机上用钉钉打开添加的应用,检测其是否能自动登录并打开页面。如提示权限问题请到钉钉开放平台赋予相关的权限。
一、企业微信管理平台打开企业微信管理平台:https://work.weixin.qq.com/wework_admin/frame查看企业信息,点击我的企业可以查看企业ID,即MES中需要配置的CorpId。企业微信管理员登录后可以在应用管理中创建自建应用:输入应用名称和介绍,选择可见范围:进入应用管理页面:在页面中可以获取AgentId和Secret,这很重要,后续需要填入MES系统配置页面。点击应用主页的设置按钮,进入主页设置:手机端填入MES系统的App地址(Produce/App/Index),电脑端填入MES系统的首页地址,注意不要填写登录页面,避免不必要的重复认证。设置网页授权及JS-SDK的可信域名,并按照要求完成归属认证:设置企业可信IP,否则MES无法正常调用企业微信接口:可选步骤:添加自定义菜单,添加后可以在易智造的聊天窗口底部快速进入:二、配置MES系统参数与企业微信集成系统需要您的MES服务器有外网访问权限,至少能访问企业微信相关服务接口,否则无法正常使用。打开系统管理页面,进入系统设置,将开放平台凭证信息填入企业微信内部集成参数。点击测试,如能正常连接说明参数填写正确,否则请与企业微信开放平台核对参数。在菜单管理中对部门管理页面和人员管理页面添加同步按钮。部门管理页面新增同步按钮btn_SyncDeptByWeChatWork,用户管理页面新增同步按钮btn_SyncUserByWeChatWork。添加后可以点击按钮将企业微信的组织架构和人员用户信息同步到MES系统中。注意企业微信同步的账号信息无法使用系统自带的登录功能进行正常登录,必须在企业微信应用内使用。如您需要脱离企业微信应用环境使用企业微信同步的用户账号,请联系您的专属顾问进行脱离处理。三、测试分别在电脑上和手机上用企业微信打开添加的应用,检测其是否能自动登录并打开页面。如提示权限问题请到企业微信管理平台赋予相关的权限。
本应用程序配置是使用一个或多个配置提供程序执行的。配置提供程序使用各种配置源从键值对读取配置数据:设置文件,例如appsettings.json环境变量,例如在Docker运行环境下使用环境变量控制配置参数本应用程序中系统运行参数设置如下:{ "Logging": { "LogLevel": { "Default": "Warning" //日志等级 } }, "AllowedHosts": "*", "ConnectionStrings": { "WfDBContext": "Data Source=.;Initial Catalog=MES;User=sa;Password=123456;MultipleActiveResultSets=true" //数据库连接字符串 }, "LoggingDB": { "LogDbType": "SQLite", //日志服务数据库类型:MongoDB/SQLite/Inner Inner模式直接写入业务数据库无需配置下方连接参数 "ConnectionString": "Data Source=myDatabase.db", //"mongodb://localhost:27017", "DatabaseName": "LogStore", "LogLevel": "Debug" //日志等级:All/Debug/Info/Warn/Error }, "AppSetting": { "IdWorker": 1, "SSOPassport": "http://localhost:52789", "RoutePre": "", "Version": "1.0", //如果为demo,则屏蔽Post请求 "DbType": "SqlServer", //数据库类型:SqlServer/MySql "AppKey": "BaseSys", "CacheType": "Redis", //缓存类型:Redis/Inner Inner模式下无法与其他站点集成 "RedisConn": "localhost", //Redis连接字符串 "RedisDb": "0", //Redis数据库索引 "MailSMTP": "smtp.163.com", //邮箱SMTP服务器地址 "MailPort": 465, //邮箱SMTP端口 "MailSSL": true, //是否启用SSL "MailUserName": "MES智能制造", //发件人名称 "MailAddress": "d****@163.com", //发件地址 "MailPassword": "Q********Q" //邮箱密码 }, "LDAP": { "Server": "", //"192.168.31.100", "Port": "", //"389" "BaseDC": "", //"DC=ymes,DC=cn" "Domain": "", //"ymes.cn" "AutoLogin": false }, "OSSProvider": [ { "Provider": "Aliyun", //枚举值支持:Minio/Aliyun/QCloud/Qiniu/HuaweiCloud "Endpoint": "oss-cn-shanghai.aliyuncs.com", //腾讯云中表示AppId,注意:主账号的AppId "Region": "oss-cn-shanghai", //地域 "AccessKey": "LT*************ib", "SecretKey": "0W******************I", "IsEnableCache": true //是否启用缓存,推荐开启 } ] }配置说明:日志等级Logging{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } } }在上述JSON中:指定了"Default"、"Microsoft"和"Microsoft.Hosting.Lifetime"日志级别类别。"Default"值应用于未指定的所有类别,从而有效地将所有类别的所有默认值设置为"Information"。可以通过为某个类别指定值来重写此行为。"Microsoft"类别适用于以"Microsoft"开头的所有类别。"Microsoft"类别在日志级别Warning或更高级别记录。"Microsoft.Hosting.Lifetime"类别比"Microsoft"类别更具体,因此"Microsoft.Hosting.Lifetime"类别在日志级别"Information"和更高级别记录。未指定特定的日志提供程序,因此LogLevel适用于所有启用的日志记录提供程序,但WindowsEventLog除外。Logging属性可以具有LogLevel和日志提供程序属性。LogLevel指定要针对所选类别进行记录的最低级别。在前面的JSON中,指定了Information和Warning日志级别。LogLevel表示日志的严重性,范围为0到6:Trace=0、Debug=1、Information=2、Warning=3、Error=4、Critical=5和None=6。指定LogLevel时,将为指定级别和更高级别的消息启用日志记录。在前面的JSON中,记录了Information及更高级别的Default类别。例如,记录了Information、Warning、Error和Critical消息。如果未指定LogLevel,则日志记录默认为Information级别。提供程序属性可以指定LogLevel属性。提供程序下的LogLevel指定要为该提供程序记录的级别,并替代非提供程序日志设置。限制域名AllowedHosts可以通过配置AllowedHosts来限制访问的域名,避免非法解析自己的网站进行访问。参数值只能为字符类型。1、参数值“*”:表示所有的域名都可以访问。2、限制域名访问配置:“examlple.com;exampleB.cn;examlec.com”。不需要端口与主机头信息,只需要填写域名即可。中间用分号“;”间隔。主数据库连接字符串ConnectionStringsWfDBContext作为系统的主要数据库连接字符串,如果配置不正确系统将无法正常运行。请按照下方设置的数据库类型编写对应的数据库连接字符串。使用SQLServer时,模板:DataSource={服务器地址};InitialCatalog={数据库名字};User={登录用户};Password={登录密码};MultipleActiveResultSets=true使用MySQL时,模板:server={服务器地址};userid={登录用户};database={数据库名字};password={登录密码}如果连接字符串中有反斜杠“\”,请用两个反斜杠“\\”代替,因为在json内容中“\”表示转义。日志数据库服务LoggingDBLogDbType:日志服务数据库类型,支持MongoDB/SQLite/Inner,Inner模式直接写入业务数据库无需配置下方连接参数。当系统业务繁忙时,系统日志建议采用MongoDB或者SQLite,使用Inner模式会占用大量主数据库资源,可能会影响系统业务稳定性。Inner模式下需要控制日志写入数量,建议根据系统使用频率配置恰当的日志服务执行频率和每次处理日志条数,避免处理不及时日志缓存溢出引起系统服务宕机。如果系统是分布式部署的运行环境,则建议使用MongoDB,如果使用SQLite日志信息会有缺失。ConnectionString:日志服务器连接字符串,当使用MongoDB时填写MongoDB连接字符串模板:mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]] 例如:mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin当使用SQLite时,直接写数据库文件地址,例如:DataSource=myDatabase.db。注意此时需要站点对该文件夹拥有写入权限,否则日志信息无法正常写入会影响系统运行。DatabaseName:数据库名称,当采用MongoDB时,日志写入的数据库名称。LogLevel:日志等级,All全部日志,Debug调试日志,Info消息日志,Warn警告日志,Error错误日志。低等级日志会包含高等级日志,即Debug会包含Warn和Error。AppSetting应用设置"IdWorker":Id生成器的种子,支持0-35,分布式部署时,每台应用服务器都要部署成不同的种子,否则系统运行时会生成重复Id。"Version":如果为demo,则屏蔽Post请求"DbType":数据库类型:SqlServer/MySql"AppKey":系统应用名称,默认"BaseSys",应用运行后不能修改,分布式部署时名称要统一,否则不能正常运行。"CacheType":缓存类型:Redis/InnerInner模式下无法与其他站点集成,分布式部署必须是Redis,否则无法正常运行。"RedisConn":Redis连接字符串"RedisDb":Redis数据库索引,当一台Redis服务器中有多个应用部署时,请务必保证使用不同的索引,否则站点鉴权会有异常。"MailSMTP":邮箱SMTP服务器地址"MailPort":邮箱SMTP端口"MailSSL":是否启用SSL"MailUserName":发件人名称"MailAddress":发件地址"MailPassword":邮箱密码LDAP集成设置域服务器集成后系统不管控用户信息,所有用户信息由域服务器提供,包括用户名、密码等安全策略。用户登陆也会交由域服务器完成。"Server":域服务器IP地址"Port":域服务器端口"BaseDC":基础DC信息"Domain":域名"AutoLogin":是否尝试自动登录(需要环境部署配合,单独设置不能生效)OSSProvider文件存储服务"Provider":枚举值支持:Minio/Aliyun/QCloud/Qiniu/HuaweiCloud"Endpoint":"oss-cn-shanghai.aliyuncs.com",//腾讯云中表示AppId,注意:主账号的AppId"Region":"oss-cn-shanghai",//地域"AccessKey":"LT*************ib","SecretKey":"0W******************I","IsEnableCache":true//是否启用缓存,推荐开启名称类型说明案例备注Provider枚举OSS提供者Minio允许值:Minio/Aliyun/QCloud/Qiniu/HuaweiCloudEndpointstring节点oss-cn-hangzhou.aliyuncs.com在腾讯云OSS中表示AppIdAccessKeystringAccessKeyF...............sSecretKeystringSecretKeyv...............dRegionstring地域ap-chengduIsEnableHttpsbool是否启用HTTPStrue建议启用IsEnableCachebool是否启用缓存true启用后将缓存签名URL,以减少请求次数Endpoint查询ProviderEndpointRemarkMinio-默认或自建MinioEndpointAliyunhttps://help.aliyun.com/document_detail/31837.html-QCloud-腾讯云没有Endpoint,此配置项表示AppIdQiniuhttps://developer.qiniu.com/kodo/4088/s3-access-domainname-HuaweiCloudhttps://support.huaweicloud.com/productdesc-obs/obs_03_0152.html-请特别注意,编辑服务器上的配置文件后,必须重启应用程序以使更改生效。若使用系统记事本或其他不支持JSON格式的编辑器,请确保JSON格式正确无误,以免导致服务中断。