Commit Graph

297 Commits

Author SHA1 Message Date
SL d7086a534a [Common]
DataTraceCache的SQL_BUILD_DURATION_TOO_SLOW_MS由200ms变更为500ms。
2024-01-16 10:19:40 +08:00
SL ee0f25e21a [Common]
优化DataTraceManager的ImmediateCache()方法,允许通过系统设置禁用DO、AO的捕获跳变功能。
2024-01-15 19:40:57 +08:00
SL 88225f4f17 [Common]
IDataHolder和DataHolder更名为IDataBuffer和DataBuffer。
优化PostgresqlHelper中SQL执行出错后输出日志的长度,截断到200个字符,以避免日志内容过长。
DataTrace Overrun检测时长修改为60分钟。
2024-01-15 19:20:23 +08:00
SL 88f6b895bf Update the version of all assemblies to v2.2.0.40115.
Update release note.
2024-01-15 09:39:42 +08:00
SL a494dbe4ba [Common]
Rename DataRecorderManager class to DataTraceManager, and the same operation to relevant classes.
2024-01-15 09:38:57 +08:00
SL 0e5a5180c6 [Common]
优化AO和DO调用ImmediateCache()方法的逻辑,如果设置值没有变化,避免立即缓存,避免Trace过于频繁的问题。
修正DOAccessor继承基类的SetValue()方法中,没有调用ImmediateCache()方法的问题。
DataRecorderManager的DoCache()方法中增加Overrun诊断逻辑。
2024-01-12 18:14:32 +08:00
SL 7a04f50236 [Common]
修正模拟器启动时TM PLC模拟器SimulatorIO的OnTimer()方法中写AO引发NullReferenceException异常的问题。
2024-01-12 18:11:24 +08:00
SL 92cd62b0a8 [Common]
IO定义中增加DisImmCache属性,用于禁止IOAccessor对象调佣ImmediateCache()方法,避免PLC心跳AO导致周期性调用DoCache()方法。
2024-01-11 15:19:20 +08:00
SL c52e946c21 [Common]
优化DataRecorderManager对象:
Cache和Persist线程性能统计移至DoCache()和Persist()方法中实现。
新增DCPersistLines性能统计参数。
执行ImmediatelyCache()方法后主动推迟CacheThread,避免频繁缓存数据。
2024-01-10 18:24:10 +08:00
SL a4809b0f2c Merge branch 'develop' into feature/localization 2024-01-10 13:17:24 +08:00
SL fc19614a29 [Common]
DataRecorderManager对象的DataRecorderThread线程拆分为CacheThread和PersistThread,缓存和持久化操作分线程完成。
新增DataRecorderManager对象的缓存和持久化线程性能诊断信息输出。
2024-01-10 00:32:32 +08:00
SL 64f369d4b6 [Common]
优化DataRecorderManager中创建SQL语句效率。
2024-01-09 17:27:33 +08:00
SL a0c00f0292 [Common]
ModuleName枚举中新增Diagnosis项。
修改DeviceEntityT对象中的诊断数据路径为System.Diagnosis
2024-01-09 10:05:25 +08:00
SL 50d91cb066 [Common]
优化系统Monitor()线程执行频率,可通过参数调节系统Monitor线程的调度时间,避免过快扫描系统设备造成的系统开销。

[RT.Equipment]
优化IoTC的Monitor()线程,避免高频写AO操作。
2024-01-08 16:33:45 +08:00
SL 6b35835014 [Common]
DataHolder对象增加ValueType属性,指示当前数据的类型。
新增CacheDiagnosisInfo对象,用于DataRecorderManager的ImmediateCache()方法输出诊断信息。
AOAccessor和DOAccessor调用ImmediateCache()方法时输出诊断信息。
2024-01-08 16:29:53 +08:00
SL 4efb34c204 [Common]
DoubleUtil中的函数签名增加tolerance参数。
2024-01-08 16:25:16 +08:00
SL 4e0e21c8b9 [Common]
优化DataRecorderCache和DataRecorderManager对象中的变量名称。
2024-01-07 11:45:22 +08:00
SL 151b293483 [Common]
优化IOAccessor及其子类的构造函数,传入IsSimulator参数以指示当前对象是否用于模拟器。
新增SimulatorIoManager对象,专用于模拟器中构造IoManager。
修正DataRecorderManager中没有正确分表的问题。
修改DataRecorderCache中的MAX_SIZE_SQL_EXPR常量,从5MB变更为50MB,以优化构造SQL语句超过200ms的问题。
2024-01-07 11:29:22 +08:00
auvkk c8848e60c9 导入Commit 42b498f IO相关对象的优化。 2024-01-05 13:44:53 +08:00
SL 54034593f5 Merge branch 'develop' into feature/high-performance-data-collector 2024-01-05 10:16:03 +08:00
SL 558af89d22 修正InterlockManager中的INTLK动作列表正在加载时,其它线程已经开始遍历该列表,导致异常的问题。
优化InterlockManager中的变量名称。
2023-12-27 16:13:36 +08:00
SL 66ddf8b742 优化三色灯代码。
三色灯数据交换文件中新增事件名称属性。
2023-12-27 15:12:26 +08:00
SL 0cfe77d1aa 修正JobDone蜂鸣器鸣响循环结束后,仍然继续鸣响的问题。
优化三色灯代码。
2023-12-27 10:42:19 +08:00
hanqiangqiang 1bb929f06e [Common]
ProcessHistory默认显示对象集合,标记不存储到数据库
[UI.Client]
优化PM process取消查询功能
2023-12-20 10:34:57 +08:00
auvkk 13674dc2c8 [UI.Client]
UI中的点表支持中文显示。
2023-12-18 17:29:57 +08:00
auvkk 42b498f6a8 [Common]
优化IoManager、IOAccssor相关代码。
2023-12-18 16:39:16 +08:00
auvkk 23cecf8234 Merge branch 'develop' into feature/io-name-chinese-support 2023-12-15 15:50:32 +08:00
hanqiangqiang 305b17a72c [UI.Client]
1整理ProcessHistory相关集合属性,定义在DeviceData中
2修改ProcessHistory配置的XML初始化方式
3UI层通过特性标记来获取初始化的展示对象
2023-12-15 14:41:33 +08:00
auvkk e4a31589da [Common]
整理IoManager.cs格式
2023-12-15 10:10:23 +08:00
hanqiangqiang 7aa17480e5 [Common]
InterlockManager中Monitor扫描忽略翻转时,键值对集合中不包含对象时,continue当前循环
2023-12-15 08:53:48 +08:00
hanqiangqiang 936f9fffa3 Merge branch 'develop' into 整理机台兼容内容 2023-12-08 10:43:58 +08:00
auvkk 664b4d9423 优化Sequence编辑器。
Recipe选择栏位显示包含文件夹名称的完整路径,
优化Recipe选择按钮,修正三个点没有显示的问题。
优化PathFileParam对象,剔除FileName属性中的“Sic\Process"前缀,而不是在SequenceViewModel中。
修正Reload Sequence时,Recipe文件名中会显示“Sic\Process\”前缀的问题。
2023-12-06 18:42:42 +08:00
hanqiangqiang 654eb7398d Merge branch 'develop' into 整理机台兼容内容 2023-11-27 16:30:45 +08:00
hanqiangqiang 38e4562d74 [Common]
添加字符串GZip压缩和解压缩类
[UI.Client]
RecipeHistory对象添加RecipeGZip属性,用来存储到数据库,查询后解压为正确的字符串输出
2023-11-27 14:07:44 +08:00
hanqiangqiang 130f891e5a [RT.EquipmentLibrary]
真值表添加sc配置参数,添加现实项属性
[UI.Client]
真值表显示项修改绑定
2023-11-22 15:24:47 +08:00
hanqiangqiang 81a28d4023 [UI.Client]
界面显示项,使用SC配置的C2H4
[RT.EquipmentLibrary]
整理优化LineHeart数据输出项
2023-11-22 13:21:41 +08:00
HCL d846c53367 1.修改WaferHistory界面查询问题 2023-11-17 14:27:03 +08:00
auvkk 094abb37c9 [Common]
IoManager启动Monitor线程的时机从构造函数移至Initialize()方法。
BoolDataPollProvider中增加断言,方便调试时发现数据注册问题。

[UI.Client]
优化RecipeData的GetXmlString()方法,修正当ComboBox类型参数的Option不存在于格式模板文件中是,输出错误信息,而不是直接抛异常导致难以定位错误的问题。
2023-10-25 16:40:36 +08:00
auvkk baed3056ac Merge branch 'develop' into feature/high-performance-data-collector 2023-10-23 08:49:34 +08:00
SIC1016\caipeilun f5bc63099c 修复配置对比时备份文件夹没有备份文件时无法对比的异常 2023-10-20 18:18:13 +08:00
SIC1016\caipeilun 2f0e6197e2 Merge branch 'develop' of http://118.31.5.210:65000/Sic-Software/Sic.Framework into develop_configChangedV2 2023-10-20 14:48:54 +08:00
auvkk a2e8fea103 [Common]
新增系统配置System.SingleSessionLoginMode,允许关闭单会话登录模式。
2023-10-17 16:53:32 +08:00
SIC1016\caipeilun c3866c6d03 修改备份文件null判断 2023-10-16 09:28:35 +08:00
SL 82721f7a35 [Common]
日志系统增加输出Debug信息的方法。

[UI.Client]
RecipeEditorViewModel的OnActive方法输出Debug信息用于调试视图无法打开时程序卡死的问题。
2023-10-14 10:13:30 +08:00
SIC1016\caipeilun 952261ed51 不关心隐藏配置:配置对比时若配置不可视则不进行对比 2023-10-09 17:26:45 +08:00
SL 5521325263 [Common]
增加DataRecorderManager及其相关对象。
2023-10-08 21:18:59 +08:00
SIC1016\caipeilun 79b642b871 Merge branch 'develop' of http://118.31.5.210:65000/Sic-Software/Sic.Framework into develop_configChangedV2 2023-10-04 16:11:59 +08:00
SIC1016\caipeilun c6533050c5 配置文件对比功能V2
1.启动时与上次软件配置做对比,若存在差异,将生成新的备份文件,并将差异进行提示
2.配置界面右上角按钮可以过滤差异项,树状图有高亮提示
3.右上角按钮可以直接恢复上次配置软件参数,需要确认
4.config文件夹中有配置备份,可以复制出来替换掉配置文件,重启后生效
2023-10-04 16:10:17 +08:00
SL 47863a000d Merge branch 'develop' into feature/single-session-login
# Conflicts:
#	MECF.Framework.UI.Client/CenterViews/Modules/PM/PMProcessViewModel.cs
2023-09-30 17:36:10 +08:00
SIC1016\caipeilun 5f3798a25c Merge branch 'develop' into interlock 2023-09-25 15:35:13 +08:00
SL 6d2a10161a [UI.Client]
修正Account设置视图中,输入新密码后无法Save的问题。
2023-09-22 11:04:49 +08:00
SL 426cb43828 Merge branch 'develop' into feature/single-session-login
# Conflicts:
#	MECF.Framework.RT.EquipmentLibrary/Devices/TcAds.cs
2023-09-22 08:51:21 +08:00
SL 97e1f2ab98 [Common]
优化IAccountService的GetMenuPermission方法返回类型,由int变更为MenuPermissionEnum。
优化PermissionHelper的PaserPermission方法,移除字符串前后的\t字符。
优化RecipeData的BuildFormat方法,创建Recipe格式后立即设置权限。

[UI.Client]
修正PMProcess视图中的Recipe编辑表格中不显示行的问题。
移除RecipeEditorViewModel的UpdateRecipeFormat方法中设置Recipe行权限的代码,该权限已在RecipeDalta中设置。
2023-09-21 11:41:43 +08:00
SL 5a1b5fd6ef [Common]
升级角色账号系统处理逻辑,UI中获取Role信息均从RT实时拉取,而非使用UI缓存的信息,已解决多用户登录变更角色后其它UI的Role信息无法同步导致的数据错乱问题。
修正Role设置视图中更改了权限,但UI使用的权限没有刷新到最新状态的问题。
所有View的Permission属性更改为MenuPermissionEnum枚举,而不是数字,解决UI端没有强约束,并且程序可读性差的问题。
所有View的Permission属性和IsPermission属性移至BaseModel基类。
简化和重构一些代码,移除未使用的代码。

[UI.Client]
UI端使用的AccountManager和RoleManager更名为AccountManagerClient和RoleManagerClient。
移除未使用的Account相关视图。
2023-09-20 17:25:51 +08:00
SL 8158cecbd6 [Common]
修正AccountExManager的Initialize方法中错误抛出ApplicationException异常的问题。
移除PermissionHelper对象中的PermissionToString方法。
修正PermissionHelper对象的ParsePermission方法中处理字符串空格的逻辑。

[UI.Client]
优化Role编辑视图Recipe权限Tab的标题文本。
修正Recipe编辑器中所有行无法显示的问题。
2023-09-19 13:18:08 +08:00
SL db20c20909 [Common]
修正Credential对象的某些属性无法被反序列化的问题。
优化登录请求确认对话框的描述,增加发出请求的客户端信息显示。
CredentialKeepAliveCheckResult对象的UserName属性替换为RequestingCredential。
2023-09-18 16:29:37 +08:00
SL 1b127e04fa [Common]
修正单会话模式下登录逻辑。
新增CredentialKeepAliveCheckResult对象,用于修正当RT为单绘画模式时,已登录的UI不能弹出确认对话框的问题。
2023-09-18 15:51:37 +08:00
SL 4c4bc19c93 [Common]
将ReadOnly用户定义为Super用户,以避免在Account编辑视图中显示。
2023-09-18 14:42:03 +08:00
SL ed26bf6bd1 [Common]
移除EV.PostLoginBySameUser方法,改为UI端轮训LoginRequest状态凭据。
优化CredentialManager对于Requesting凭据字典的处理,在OnTimer方法中检测KeepAlive时移除RequestCanceled和Rejected状态的凭据。
2023-09-18 14:17:34 +08:00
SL 6957751858 [Common]
登录相关方法的参数改为使用token,而不是Credential。
新增ReadOnlyRole角色,用于账号被顶出后自动将界面设置为只读模式。
2023-09-18 10:13:40 +08:00
SL 4898aa6911 [Common]
CredentialManager对象中新增一些超时常量定义。
2023-09-15 23:57:38 +08:00
SL b2e805a0dd [Common]
完善CredentialManager凭据操作历史记录写入数据库的逻辑。

[UI.Client]
新增LoginRequestWaitDialog窗体。
2023-09-15 17:44:30 +08:00
SL d47be38527 [Common]
Credential增加新属性RoleID和ClientInfo。
CredentialManager的Grant和Remove方法中增加数据库操作,保存凭据历史记录。
LoginClientInfo对象中增加更多的属性,记录客户端环境。
AccountExManager的RequestAndWaitLoginConfirmation方法中等待超时时间修改为40秒。
AccountExManager的Login方法中创建凭据时保存客户端信息。
新增SystemInfoHelper对象,用于获取系统信息。

[UI.Client]
BaseApp对象中增加ClientInfo属性和LoadSystemInfo方法,用于UI启动时获取PC信息。
2023-09-14 23:55:38 +08:00
hanqiangqiang 168f3f4402 [RT.EquipmentLibrary]
1底层库重连周期从10改为100毫秒
2PLC扫面周期从50改为200毫秒
2023-09-14 17:19:08 +08:00
SL 0f032ac783 [Common]
CredentialManager的_dictCredentialsRequesting字典的Key变更为string,已LoginName为主键。
CredentialKeepAliveResults枚举中增加RequestingLogin定义,用于指示已登录的客户端有其它客户端请求使用此用户名登录。
移除IAccountService实现类中多余的函数。

[UI.Client]
新增LoginRequestConfirmDialog窗体。
2023-09-14 14:17:16 +08:00
SL 9a8c73664d [Common]
整理IAccountService接口代码结构。
2023-09-14 10:06:09 +08:00
SL a0f94aa923 [Common]
移除AuthorizeResult.cs
AccountExManager的GetCurrentWCFClientEndPoint方法和RequestAndWaitLoginConfirmation修改为static。
2023-09-14 09:45:11 +08:00
SL 56bbd2e440 [Common]
继续完善RT登录逻辑。
已在SicManual中测试,以前的登录逻辑没有问题,新的踢出逻辑还未测试。

[UI.Client]
移除未使用的登录控件。
2023-09-13 17:31:22 +08:00
SL 45bb9e7bf7 [Common]
继续优化用户管理器相关代码,并修正错误,编译通过。(未调试)
2023-09-12 18:11:47 +08:00
SL 704daa8f7f [Common]
AccountExManager增加RequestLogin方法和CancelLoginRequest方法,用于实现已登录客户端确认新用户登录请求。
新增WCFProxy对象,用于创建客户端连接对象。
AccountServiceClient使用WCFProxy发起WCF访问,代替ServiceClientWrapper。
整理ServiceClientWrapper对象代码结构。
2023-09-07 23:30:33 +08:00
SL 6110e1fbce [Common]
用户登录相关对象的SessionId属性更名为Token。
2023-09-06 15:25:32 +08:00
SL c9d9ece737 [Common]
AccountExManager增加IsSupportMultiUserLogin属性,指示RT是否支持同时多个用户登录。
AccountExManager的Logout方法移除LoginName属性,直接通过SessionID注销登录的用户。
UserContext对象增加Clear方法,一次性清除用户登录信息。
2023-09-06 14:45:06 +08:00
SL 7ff1f12006 [Common]
MenuLoader移至RoleLoader对象中进行实例化。
2023-09-06 09:23:50 +08:00
SL 416b6bd72f [UI.Client]
修正Role保存的一些问题。
当前提交已对Role编辑功能进行测试并通过。
2023-09-05 18:04:35 +08:00
SL 6d3ad925c8 Account配置文件迁移到新格式,同时保留对旧格式的兼容。 2023-09-05 11:33:11 +08:00
SL 211fa4a680 增加将Menu.xml移至RT的支持。 2023-09-05 10:20:23 +08:00
SL 3168853c90 [Common]
增加一些注释。
2023-09-05 09:27:56 +08:00
SL 86aed90177 [UI.Client]
修正Role编辑界面中没有显示权限条目的问题。
2023-09-05 00:40:37 +08:00
SL a913ebe2b5 准备优化Role权限保存方式,从字符串方式更改为XmlElement节点方式保存每一条权限。
[Common]
Permission相关对象从UI.Client工程移至Common工程。
PermissionHelper中增加PermissionToDictionary方法,将权限项目转换为字典。

[UI.Client]
Role对象新增构造函数,可以传入解析好的权限清单。
2023-09-05 00:12:08 +08:00
SL 6ca07e3513 [Common]
优化AccountExManager的GenerateRoleID方法,RoleID从4开始编号,0-3为系统保留编号。
优化AccountExManager的AuthLogin方法,修正登录失败原因不准确的问题。
优化RoleLoader的AnalyzeXml方法,RoleId为0-3的角色自动将IsBuildIn属性置为True。
Role对象的IsBuildIn属性的set作用域更改为public。

[UI.Client]
优化RoleManager的GenerateRoleID方法,RoleID从4开始生成,0-3作为系统保留ID。
移除RoleManager中未使用的CloneRole方法。
优化RoleViewModel的LoadRoleList方法,直接使用RoleManager的Roles列表,而不是Clone一个新的列表。
2023-09-04 17:22:01 +08:00
SL 72cc41eee9 [Common]
[UI.Client]
Role增加IsBuildIn属性,用于标记当前角色是否为系统内置角色,系统内置角色不可删除。
2023-09-04 16:28:14 +08:00
SL b7747e788a [Common]
优化AppMenu代码格式。
AppMenu对象新增Description属性。
优化MenuLoad代码格式,修复变量名。
优化RoleLoad代码格式,修复变量名。

[UI.Client]
修正RoleManager保存Role后,UI中仍然显示未为保存状态的问题。
移除RoleManager的RoleContainer属性,将其变更为私有变量。
重命名RoleManager的GetRoleByID方法和GetRoleByName方法,变更为FindRoleByID和FindRoleByName。
移除PermissionControlItem中的ComboBoxSaved属性。
PermissionControlItem新增Update方法,用于Save后更新保存状态。

[Sicentury.Core]
BindableBase对象增加Serializable属性标签。
2023-09-04 11:51:05 +08:00
SL cbb7c732ac [Common]
完成LoginbySameUser事件测试。
2023-09-02 00:58:20 +08:00
SL 2a6fbb7179 [Common]
新增PostLoginBySameUser方法,当同一用户异地登录时,通知已登录的客户端下线。
2023-09-01 17:52:02 +08:00
SIC1016\caipeilun 8f66a4d067 Limit类新增ignoreReverse属性,=true忽略单项limit反转Action 2023-09-01 17:47:09 +08:00
SL f31a36f3a5 [RT.Equipment]
修正IoValve的FuncCheckInterlock()方法返回false时,没有返回错误原因的问题。
2023-08-31 21:56:00 +08:00
SL 9c451c6646 [RT.Equipment]
恢复IoInterLock对象的Monitor()方法。
恢复IoVavle中检测BypassEnableTable的系统配置。
PMModuleBase对象中新增属性IsBypassEnableTable。

[Common]
从IoManager中移除InterlockDaemonManager对象的初始化过程。
2023-08-31 11:40:28 +08:00
DESKTOP-OKMOOJ9\MK 86af260ad6 [Common]
InterlockManagerBase的Initialize()方法新增对配置文件的Action节点ignoreReverse属性的支持,允许将Action配置为忽略Limit命中后翻转电平动作。
2023-08-30 23:06:49 +08:00
SL 75c5abf732 [Common]
新增Credential对象,准备用于WCF访问验证。
2023-08-29 18:02:30 +08:00
SL 52991feb4b [Common]
优化AccountExManager的AuthLogin()方法,如果相同用户从异地登录,当前登录状态被清除。
LoginResult对象新增属性,记录客户端IP信息。
2023-08-29 17:45:38 +08:00
SL 77ec57f97e Backup 2023-08-29 11:16:43 +08:00
SL 1fc742f477 [Common]
优化Account相关对象的代码结构。
新增LoginClientInfo对象,用于客户端登录时汇报客户端信息。
2023-08-28 23:30:37 +08:00
SL 5fd6deaf0c [Common]
优化Account相关对象文件的代码结构、增加注释、规范变量命名等。
2023-08-28 11:30:57 +08:00
SL aa342b9d8a [Common]
优化AccountManager.cs代码结构。
2023-08-28 10:30:53 +08:00
SL 788333d6e6 Merge branch 'develop' into feature/bind-interlock-manager-to-module 2023-08-25 17:23:53 +08:00
SL 0aad2d5852 [RT.Equipment]
IoMFC增加两个配置:Valve和DisableFbSpErrMonWhenValveClosed,允许仅当Valve打开时进行Feedback-SetPoint误差监测。
优化ErrorDetectableBaseDevice、IoMFC代码结构。
2023-08-25 16:05:19 +08:00
SL e7ad49b615 [Common]
修正LOG消息中缺少Level信息的问题。

(cherry picked from commit 48480ad733)
2023-08-22 10:32:51 +08:00
SL eb4925f5ec [Common]
修正InterlockManagerBase的Initialize方法中,如果Action重复,Debug.Assert判断逻辑错误导致没有提示的问题。
优化InterlockActionBase的IsSame方法,忽略DO名称大小写。
2023-08-21 11:51:09 +08:00
SL fe947f0e5a [Common]
InterlockManagerBase对象的Initialize方法中增加Action是否已经存在的判断,同一个Action仅允许定义一次。
2023-08-21 11:33:12 +08:00
SL 2b2b2e2051 [Common]
优化IInterlockAction和InterlockActionBase代码,整理注释。
2023-08-21 11:32:01 +08:00