| | |
| | | using LB_SmartVision.Forms.Pages.SettingPage; |
| | | using LB_SmartVision.Forms.Pages.UserManagementPage; |
| | | using LB_SmartVision.ProcessRun; |
| | | using LB_SmartVision.SQL; |
| | | using LB_SmartVision.Tool; |
| | | using LB_SmartVisionCommon; |
| | | using LB_SmartVisionLoginUI; |
| | | using LB_VisionProcesses; |
| | | using LB_VisionProcesses.Cameras; |
| | | using LB_VisionProcesses.Cameras.HRCameras; |
| | | using LB_VisionProcesses.Cameras.LBCameras; |
| | | using LB_VisionProcesses.Communicators; |
| | | using LB_VisionProcesses.Communicators.SiemensS7; |
| | | using LB_VisionProcesses.Communicators.TCom; |
| | |
| | | Assembly_LB_VisionProcessesDll = Assembly.Load(Assembly_LB_VisionProcessesBytes); |
| | | |
| | | GlobalVar.dicCommunicators.DictionaryChanged += CommunicatorsChanged; |
| | | GlobalVar.dicCameras.DictionaryChanged += CamerasChanged; |
| | | GlobalVar.dicProcesses.DictionaryChanged += ProcessRunBllChanged; |
| | | |
| | | //最开始就清空所有Tab页 |
| | |
| | | |
| | | private void CommunicatorsChanged(object? sender, DictionaryChangedEventArgs<string, BaseCommunicator> e) |
| | | { |
| | | |
| | | try |
| | | { |
| | | switch (e.ChangeType) |
| | | { |
| | | case DictionaryChangeType.Added: |
| | | e.NewValue.TriggerRunMessageReceived += TriggerRunMessageReceived; |
| | | LogInfo($"通讯口[{e.NewValue.CommunicatorName}]加载触发通讯", LogInfoType.INFO); |
| | | e.NewValue.CommunicatorName = e.NewKey; |
| | | break; |
| | | case DictionaryChangeType.Renamed: |
| | | string OldCommunicatorName = e.OldKey; |
| | | string NewCommunicatorName = e.NewKey; |
| | | LogInfo(string.Format("重命名通讯口名[{0}]修改为[{1}]", OldCommunicatorName, NewCommunicatorName), LogInfoType.INFO); |
| | | e.NewValue.CommunicatorName = NewCommunicatorName; |
| | | break; |
| | | case DictionaryChangeType.Removed: |
| | | if (e.OldValue != null && e.OldValue is BaseCommunicator) |
| | | e.OldValue.Disconnect(); |
| | | e.OldValue.TriggerRunMessageReceived -= TriggerRunMessageReceived; |
| | | LogInfo($"通讯口[{e.OldValue.CommunicatorName}]移除触发通讯", LogInfoType.INFO); |
| | | break; |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | private void LogInfo(string strLog, LogInfoType infoType) |
| | |
| | | } |
| | | } |
| | | |
| | | private void CamerasChanged(object sender, DictionaryChangedEventArgs<string, BaseCamera> e) |
| | | { |
| | | try |
| | | { |
| | | switch (e.ChangeType) |
| | | { |
| | | case DictionaryChangeType.Added: |
| | | e.NewValue.TriggerRunMessageReceived += TriggerRunMessageReceived; |
| | | LogInfo($"相机[{e.NewValue.SN}]加载触发通讯", LogInfoType.INFO); |
| | | e.NewValue.SN = e.NewKey; |
| | | break; |
| | | case DictionaryChangeType.Removed: |
| | | if (e.OldValue != null && e.OldValue is BaseCommunicator) |
| | | e.OldValue.CloseDevice(); |
| | | e.OldValue.TriggerRunMessageReceived -= TriggerRunMessageReceived; |
| | | LogInfo($"相机[{e.OldValue.SN}]移除触发通讯", LogInfoType.INFO); |
| | | break; |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | private void VisionForm_Load(object sender, EventArgs e) |
| | | { |
| | | XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config")); |
| | |
| | | com_ProductName.Items.Add("新增"); |
| | | com_ProductName.Text = GlobalVar.strProductName; |
| | | this.WindowState = FormWindowState.Maximized; |
| | | DatabaseRecordProductDataHelper.InitializeDatabase(); |
| | | } |
| | | |
| | | public void SaveAllSetting() |
| | |
| | | } |
| | | case CameraBrand.LBCamera: |
| | | { |
| | | //camera = new LBCamera(); |
| | | camera = new LBCamera(); |
| | | break; |
| | | } |
| | | default: |
| | |
| | | } |
| | | } |
| | | camera.SN = CameraConnectionString.Key; |
| | | if (!camera.InitDevice(CameraConnectionString.Key, this.Handle)) |
| | | if (!camera.InitDevice(CameraConnectionString.Key, IntPtr.Zero)) |
| | | { |
| | | LogInfo($"初始化相机[{CameraConnectionString.Key}]失败", LogInfoType.ERROR); |
| | | if (camera != null) |