using Prism.Mvvm; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TeamAAS_VP.Models.PLC; using TeamAAS_VP.Resources.Languages; namespace TeamAAS_VP.Models.PLC { public class PlcAddressConfig : BindableBase { #region 写入到PLC的地址 private PlcAddress _Out_PlcFail; public PlcAddress Out_PlcFail { get { return _Out_PlcFail; } set { SetProperty(ref _Out_PlcFail, value); } } private int _PlcNo; public int PlcNo { get { return _PlcNo; } set { SetProperty(ref _PlcNo, value); } } private PlcAddress _Out_ProductLoadMode; /// /// 产品切换类型 /// public PlcAddress Out_ProductLoadMode { get { return _Out_ProductLoadMode; } set { SetProperty(ref _Out_ProductLoadMode, value); } } private PlcAddress _Out_WorkMode = new PlcAddress(); /// /// 工作模式 =1 拍1打1 =2 拍1打所有 /// public PlcAddress Out_WorkMode { get { return _Out_WorkMode; } set { SetProperty(ref _Out_WorkMode, value); } } private PlcAddress _PickPointNum = new PlcAddress(); /// /// 取料位置 =0 不需要取料 =1 需要取料 /// public PlcAddress Out_PickPointNum { get { return _PickPointNum; } set { SetProperty(ref _PickPointNum, value); } } private PlcAddress _DowmCameraNum = new PlcAddress(); /// /// 下相机拍照次数=0 无 /// public PlcAddress Out_DowmCameraNum { get => _DowmCameraNum; set => SetProperty(ref _DowmCameraNum, value); } private PlcAddress _UpCameraPickNum = new PlcAddress(); /// /// 上相机取料拍照次数=0 无 /// public PlcAddress Out_UpCameraPickNum { get => _UpCameraPickNum; set => SetProperty(ref _UpCameraPickNum, value); } private PlcAddress _UpCameraPutNum = new PlcAddress(); /// /// 上相机放料拍照次数=0 无 /// public PlcAddress Out_UpCameraPutNum { get => _UpCameraPutNum; set => SetProperty(ref _UpCameraPutNum, value); } private PlcAddress _UPCameracheckNum = new PlcAddress(); /// /// 上相机锁附/组装次数=0 无 /// public PlcAddress Out_UPCameracheckNum { get => _UPCameracheckNum; set => SetProperty(ref _UPCameracheckNum, value); } private PlcAddress _FixedCameraPickNum = new PlcAddress(); /// /// 取料固定位置拍产品相机数量 =0 无 /// public PlcAddress Out_FixedCameraPickNum { get => _FixedCameraPickNum; set => SetProperty(ref _FixedCameraPickNum, value); } private PlcAddress _FixedCameraPutNum = new PlcAddress(); /// /// 锁附/组装固定位置拍产品相机数量 =0 无 /// public PlcAddress Out_FixedCameraPutNum { get => _FixedCameraPutNum; set => SetProperty(ref _FixedCameraPutNum, value); } private PlcAddress _FixedCameracheckNum = new PlcAddress(); /// /// 固定相机检测锁附/组装次数=0 无 /// public PlcAddress Out_FixedCameracheckNum { get => _FixedCameracheckNum; set => SetProperty(ref _FixedCameracheckNum, value); } private PlcAddress _WorkNum = new PlcAddress(); /// /// 锁附/组装数量 /// public PlcAddress Out_WorkNum { get { return _WorkNum; } set { SetProperty(ref _WorkNum, value); } } private PlcAddress _DownCameraStatus = new PlcAddress(); /// /// 下相机拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_DownCameraStatus { get { return _DownCameraStatus; } set { SetProperty(ref _DownCameraStatus, value); } } private PlcAddress _AddScrewView = new PlcAddress(); /// /// 下相机拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_AddScrewView { get { return _AddScrewView; } set { SetProperty(ref _AddScrewView, value); } } private PlcAddress _Out_Screw_check_status; /// /// 相机拍照螺丝的结果,1:OK,2:NG /// public PlcAddress Out_Screw_check_status { get { return _Out_Screw_check_status; } set { SetProperty(ref _Out_Screw_check_status, value); } } private PlcAddress _UpCameraPickStatus = new PlcAddress(); /// /// 上相机取料拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_UpCameraPickStatus { get { return _UpCameraPickStatus; } set { SetProperty(ref _UpCameraPickStatus, value); } } private PlcAddress _UpCameraPutStatus = new PlcAddress(); /// /// 上相机锁附/组装拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_UpCameraPutStatus { get { return _UpCameraPutStatus; } set { SetProperty(ref _UpCameraPutStatus, value); } } private PlcAddress _UPCameracheckStatus = new PlcAddress(); /// /// 上相机检测拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_UPCameracheckStatus { get { return _UPCameracheckStatus; } set { SetProperty(ref _UPCameracheckStatus, value); } } private PlcAddress _FixedCameraPickStatus = new PlcAddress(); /// /// 固定相机取料拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_FixedCameraPickStatus { get { return _FixedCameraPickStatus; } set { SetProperty(ref _FixedCameraPickStatus, value); } } private PlcAddress _FixedCameraPutStatus = new PlcAddress(); /// /// 固定相机锁附/组装拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_FixedCameraPutStatus { get { return _FixedCameraPutStatus; } set { SetProperty(ref _FixedCameraPutStatus, value); } } private PlcAddress _FixedCameracheckStatus = new PlcAddress(); /// /// 固定相机检测拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_FixedCameracheckStatus { get { return _FixedCameracheckStatus; } set { SetProperty(ref _FixedCameracheckStatus, value); } } private PlcAddress _FzCameraPickStatus = new PlcAddress(); /// /// 固定相机取料拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK /// public PlcAddress Out_FzCameraPickStatus { get { return _FzCameraPickStatus; } set { SetProperty(ref _FzCameraPickStatus, value); } } private PlcAddress _Out_CameraDone = new PlcAddress(); /// /// 相机坐标拟合完成 /// public PlcAddress Out_CameraDone { get { return _Out_CameraDone; } set { SetProperty(ref _Out_CameraDone, value); } } private PlcAddress _MesStatus = new PlcAddress(); /// /// 过站信息 =1 允许工作 =2 本站放行 =3 数据上传完成 /// public PlcAddress Out_MesStatus { get { return _MesStatus; } set { SetProperty(ref _MesStatus, value); } } private PlcAddress _QrCodePhotoResault = new PlcAddress(); /// /// pc发送二维码拍照点位成功后 =1 失败=2 未执行=0 /// public PlcAddress Out_QrCodePhotoResault { get { return _QrCodePhotoResault; } set { SetProperty(ref _QrCodePhotoResault, value); } } private PlcPointAddress _PickCamera = new PlcPointAddress(); /// /// 取料拍照点位参数 /// public PlcPointAddress Out_PickCamera { get { return _PickCamera; } set { SetProperty(ref _PickCamera, value); } } private PlcPointAddress _Pick = new PlcPointAddress(); /// /// 取料点位参数 /// public PlcPointAddress Out_Pick { get { return _Pick; } set { SetProperty(ref _Pick, value); } } private PlcPointAddress _SecPosCamera = new PlcPointAddress(); /// /// 下相机二次定位点位参数 /// public PlcPointAddress Out_SecPosCamera { get { return _SecPosCamera; } set { SetProperty(ref _SecPosCamera, value); } } private PlcPointAddress _ScrewCamera = new PlcPointAddress(); /// /// 锁附拍照点位参数 /// public PlcPointAddress Out_ScrewCamera { get { return _ScrewCamera; } set { SetProperty(ref _ScrewCamera, value); } } private PlcPointAddress _Screw = new PlcPointAddress(); /// /// 锁附点位参数 /// public PlcPointAddress Out_Screw { get { return _Screw; } set { SetProperty(ref _Screw, value); } } private PlcPointAddress _CheckCamera = new PlcPointAddress(); /// /// 复检点位参数 /// public PlcPointAddress Out_CheckCamera { get { return _CheckCamera; } set { SetProperty(ref _CheckCamera, value); } } private PlcAddress _Out_ScrewTeachNum; /// /// 披头矫正的模式,1:初始化时矫正,2:每个产品矫正一次,3:每颗螺丝矫正一次 /// public PlcAddress Out_ScrewTeachNum { get { return _Out_ScrewTeachNum; } set { SetProperty(ref _Out_ScrewTeachNum, value); } } private PlcPointAddress _QrCodeCamera = new PlcPointAddress(); /// /// 二维码拍照点位参数 /// public PlcPointAddress Out_QrCodeCamera { get { return _QrCodeCamera; } set { SetProperty(ref _QrCodeCamera, value); } } private PlcAddress _Out_ScrewTeachOk; /// /// 下相机矫正披头的结果,1:OK,2:NG /// public PlcAddress Out_ScrewTeachOk { get { return _Out_ScrewTeachOk; } set { SetProperty(ref _Out_ScrewTeachOk, value); } } private PlcAddress _Out_ScrewFeederIsChanged; /// /// 螺丝供料器发生改变 /// public PlcAddress Out_ScrewFeederIsChanged { get { return _Out_ScrewFeederIsChanged; } set { SetProperty(ref _Out_ScrewFeederIsChanged, value); } } private PlcAddress _Check_Screw; /// /// 点检扭力 电批正转 /// public PlcAddress Check_ScrewTorque { get { return _Check_Screw; } set { SetProperty(ref _Check_Screw, value); } } private PlcAddress _Screw_OK; public PlcAddress Screw_OK { get { return _Screw_OK; } set { SetProperty(ref _Screw_OK, value); } } private PlcAddress _Screw_NG; public PlcAddress Screw_NG { get { return _Screw_NG; } set { SetProperty(ref _Screw_NG, value); } } private PlcAddress _OP_AutoManual; /// /// PLC手动模式与自动模式切换 /// public PlcAddress OP_AutoManual { get { return _OP_AutoManual; } set { _OP_AutoManual = value; } } private PlcAddress _ManuToHome; /// /// 关闭真空 /// public PlcAddress ManuToHome { get { return _ManuToHome; } set { _ManuToHome = value; } } private PlcAddress _ManuTOWork; /// /// 打开真空 /// public PlcAddress ManuTOWork { get { return _ManuTOWork; } set { _ManuTOWork = value; } } private PlcAddress _InWork; /// /// 真空关闭反馈 /// public PlcAddress InWork { get { return _InWork; } set { _InWork = value; } } private PlcAddress _Screw_Backward; /// /// 电批反转 需要一直给true /// public PlcAddress Screw_Backward { get { return _Screw_Backward; } set { _Screw_Backward = value; } } private PlcAddress _Manu_XAxis_Velocity; /// /// 设置X轴速度 /// public PlcAddress Manu_XAxis_Velocity { get { return _Manu_XAxis_Velocity; } set { _Manu_XAxis_Velocity = value; } } private PlcAddress _Manu_YAxis_Velocity; /// /// 设置Y轴速度 /// public PlcAddress Manu_YAxis_Velocity { get { return _Manu_YAxis_Velocity; } set { _Manu_YAxis_Velocity = value; } } private PlcAddress _Manu_ZAxis_Velocity; /// /// 设置Z轴速度 /// public PlcAddress Manu_ZAxis_Velocity { get { return _Manu_ZAxis_Velocity; } set { _Manu_ZAxis_Velocity = value; } } private PlcAddress _PC_code = new PlcAddress(); /// /// 发送plc流程码 /// public PlcAddress Out_PC_code { get { return _PC_code; } set { SetProperty(ref _PC_code, value); } } #endregion #region 从PLC读取的地址 private PlcAddress _In_Code = new PlcAddress(); /// /// 产品编码 /// public PlcAddress In_Code { get { return _In_Code; } set { SetProperty(ref _In_Code, value); } } private PlcAddress _Cam_code_mode; public PlcAddress Cam_code_mode { get { return _Cam_code_mode; } set { SetProperty(ref _Cam_code_mode, value); } } private PlcAddress _In_MesCheck = new PlcAddress(); /// /// Mes交互 =1 获取过站信息当站是否生产,=2 上传本站数据 /// public PlcAddress In_MesCheck { get { return _In_MesCheck; } set { SetProperty(ref _In_MesCheck, value); } } private PlcAddress _In_Result = new PlcAddress(); /// /// 产品的最终结果 /// public PlcAddress In_Result { get { return _In_Result; } set { SetProperty(ref _In_Result, value); } } private PlcAddress _In_DowmCameraNum = new PlcAddress(); /// /// 下相机拍照编号 /// public PlcAddress In_DowmCameraNum { get { return _In_DowmCameraNum; } set { SetProperty(ref _In_DowmCameraNum, value); } } private PlcAddress _In_DowmCameraExe = new PlcAddress(); /// /// 下相机拍照触发 /// public PlcAddress In_DowmCameraExe { get { return _In_DowmCameraExe; } set { SetProperty(ref _In_DowmCameraExe, value); } } private PlcAddress _In_UpCameraPickNum = new PlcAddress(); /// /// 上相机取料拍照编号 /// public PlcAddress In_UpCameraPickNum { get { return _In_UpCameraPickNum; } set { SetProperty(ref _In_UpCameraPickNum, value); } } private PlcAddress _In_UpCameraPickExe = new PlcAddress(); /// /// 上相机取料拍照触发 /// public PlcAddress In_UpCameraPickExe { get { return _In_UpCameraPickExe; } set { SetProperty(ref _In_UpCameraPickExe, value); } } private PlcAddress _In_UpCameraPutNum = new PlcAddress(); /// /// 上相机锁附/组装拍照编号 /// public PlcAddress In_UpCameraPutNum { get { return _In_UpCameraPutNum; } set { SetProperty(ref _In_UpCameraPutNum, value); } } private PlcAddress _In_UpCameraPutExe = new PlcAddress(); /// /// 上相机锁附/组装拍照触发 /// public PlcAddress In_UpCameraPutExe { get { return _In_UpCameraPutExe; } set { SetProperty(ref _In_UpCameraPutExe, value); } } private PlcAddress _In_UPCameracheckNum = new PlcAddress(); /// /// 上相机检测拍照编号 /// public PlcAddress In_UPCameracheckNum { get { return _In_UPCameracheckNum; } set { SetProperty(ref _In_UPCameracheckNum, value); } } private PlcAddress _In_UPCameracheckExe = new PlcAddress(); /// /// 上相机检测拍照触发 /// public PlcAddress In_UPCameracheckExe { get { return _In_UPCameracheckExe; } set { SetProperty(ref _In_UPCameracheckExe, value); } } private PlcAddress _In_FixedCameraPickNum = new PlcAddress(); /// /// 固定相机取料拍照编号 /// public PlcAddress In_FixedCameraPickNum { get { return _In_FixedCameraPickNum; } set { SetProperty(ref _In_FixedCameraPickNum, value); } } private PlcAddress _In_FixedCameraPickExe = new PlcAddress(); /// /// 固定相机取料拍照触发 /// public PlcAddress In_FixedCameraPickExe { get { return _In_FixedCameraPickExe; } set { SetProperty(ref _In_FixedCameraPickExe, value); } } private PlcAddress _In_FixedCameraPutNum = new PlcAddress(); /// /// 固定相机锁附/组装拍照编号 /// public PlcAddress In_FixedCameraPutNum { get { return _In_FixedCameraPutNum; } set { SetProperty(ref _In_FixedCameraPutNum, value); } } private PlcAddress _In_FixedCameraPutExe = new PlcAddress(); /// /// 固定相机锁附/组装拍照触发 /// public PlcAddress In_FixedCameraPutExe { get { return _In_FixedCameraPutExe; } set { SetProperty(ref _In_FixedCameraPutExe, value); } } private PlcAddress _In_FixedCameracheckNum = new PlcAddress(); /// /// 固定相机检测拍照编号 /// public PlcAddress In_FixedCameracheckNum { get { return _In_FixedCameracheckNum; } set { SetProperty(ref _In_FixedCameracheckNum, value); } } private PlcAddress _In_FixedCameracheckExe = new PlcAddress(); /// /// 固定相机检测拍照触发 /// public PlcAddress In_FixedCameracheckExe { get { return _In_FixedCameracheckExe; } set { SetProperty(ref _In_FixedCameracheckExe, value); } } private PlcAddress _In_QrCodePhotoRequest = new PlcAddress(); /// /// 二维码拍照请求 /// public PlcAddress In_QrCodePhotoRequest { get { return _In_QrCodePhotoRequest; } set { SetProperty(ref _In_QrCodePhotoRequest, value); } } private PlcAddress _In_ProductNum = new PlcAddress(); /// /// 正在锁附/组装编号 /// public PlcAddress In_ProductNum { get { return _In_ProductNum; } set { SetProperty(ref _In_ProductNum, value); } } private PlcAddress _In_RequestPosition = new PlcAddress(); /// /// 请求目标位置 /// public PlcAddress In_RequestPosition { get { return _In_RequestPosition; } set { SetProperty(ref _In_RequestPosition, value); } } private PlcAddress _In_WorkStart = new PlcAddress(); /// /// 锁附/组装开始 =1 /// public PlcAddress In_WorkStart { get { return _In_WorkStart; } set { SetProperty(ref _In_WorkStart, value); } } private PlcAddress _In_WorkDone = new PlcAddress(); /// /// 锁附/组装结束 =1OK =2NG /// public PlcAddress In_WorkDone { get { return _In_WorkDone; } set { SetProperty(ref _In_WorkDone, value); } } private PlcAddress _In_PressureValue = new PlcAddress(); /// /// 压力值 /// public PlcAddress In_PressureValue { get { return _In_PressureValue; } set { SetProperty(ref _In_PressureValue, value); } } private PlcAddress _In_ScrewTeachExe; /// /// 触发披头视觉矫正 /// public PlcAddress In_ScrewTeachExe { get { return _In_ScrewTeachExe; } set { SetProperty(ref _In_ScrewTeachExe, value); } } private PlcAddress _In_Screw_checkExe; /// /// 触发相机拍照螺丝复检 /// public PlcAddress In_Screw_checkExe { get { return _In_Screw_checkExe; } set { SetProperty(ref _In_Screw_checkExe, value); } } private PlcAddress _In_PickINC; /// /// 取一颗螺丝出发信号 /// public PlcAddress In_PickINC { get { return _In_PickINC; } set { SetProperty(ref _In_PickINC, value); } } private PlcAddress _ScrewProvide1; /// /// 螺丝供料器1到位信号 /// public PlcAddress ScrewProvide1 { get { return _ScrewProvide1; } set { _ScrewProvide1 = value; } } private PlcAddress _ScrewProvide2; /// /// 螺丝供料器1到位信号 /// public PlcAddress ScrewProvide2 { get { return _ScrewProvide2; } set { _ScrewProvide2 = value; } } private PlcAddress _In_Throw; /// /// 抛料信号 /// public PlcAddress In_Throw { get { return _In_Throw; } set { SetProperty(ref _In_Throw, value); } } private PlcAddress _RunMode; /// /// 自动运行模式 /// public PlcAddress RunMode { get { return _RunMode; } set { SetProperty(ref _RunMode, value); } } private PlcAddress _AutoRunning; public PlcAddress AutoRunning { get { return _AutoRunning; } set { SetProperty(ref _AutoRunning, value); } } /// /// 维修模式 /// private PlcAddress _ManualMode; public PlcAddress ManualMode { get { return _ManualMode; } set { SetProperty(ref _ManualMode, value); } } private PlcAddress _ClearMode; /// /// 流线模式 /// public PlcAddress ClearMode { get { return _ClearMode; } set { SetProperty(ref _ClearMode, value); } } private PlcAddress _Fault; /// /// 报警 /// public PlcAddress Fault { get { return _Fault; } set { SetProperty(ref _Fault, value); } } private PlcAddress _In_FzCameraPixExe = new PlcAddress(); /// /// 翻转相机触发拍照 /// public PlcAddress In_FzCameraPixExe { get { return _In_FzCameraPixExe; } set { SetProperty(ref _In_FzCameraPixExe, value); } } #endregion public PlcAddressConfig() { } // 初始默认值 public void SetDefaultValue() { // 1. PlcNo 默认 PlcNo = 1; // 辅助局部函数:确保 PlcAddress 实例存在 PlcAddress Ensure(PlcAddress a) { if (a == null) return new PlcAddress(); return a; } // 辅助局部函数:确保 PlcPointAddress 实例存在 PlcPointAddress EnsurePoint(PlcPointAddress p) { if (p == null) return new PlcPointAddress(); return p; } // 2. 按 JSON 提供的数据设置默认值(以当前属性名为准) Out_ProductLoadMode = Ensure(Out_ProductLoadMode); Out_ProductLoadMode.Address = "ns=4;s=DB_Communication|FromPC.ProductLoadMode"; Out_ProductLoadMode.DataType = "int16"; Out_ProductLoadMode.Description = "产品切换类型"; Out_WorkMode = Ensure(Out_WorkMode); Out_WorkMode.Address = "ns=4;s=DB_Communication|FromPC.WorkMode"; Out_WorkMode.DataType = "int16"; Out_WorkMode.Description = Lang.工作模式1拍1打12拍1打所有; Out_PickPointNum = Ensure(Out_PickPointNum); Out_PickPointNum.Address = "ns=4;s=DB_Communication|FromPC.PickPointNum"; Out_PickPointNum.DataType = "int16"; Out_PickPointNum.Description = Lang.取料位置0不需要取料1需要取料; Out_DowmCameraNum = Ensure(Out_DowmCameraNum); Out_DowmCameraNum.Address = "ns=4;s=DB_Communication|FromPC.DowmCameraNum"; Out_DowmCameraNum.DataType = "int16"; Out_DowmCameraNum.Description = Lang.下相机拍照次数0无; Out_UpCameraPickNum = Ensure(Out_UpCameraPickNum); Out_UpCameraPickNum.Address = "ns=4;s=DB_Communication|FromPC.UpCameraPickNum"; Out_UpCameraPickNum.DataType = "int16"; Out_UpCameraPickNum.Description = Lang.上相机取料拍照次数0无; Out_UpCameraPutNum = Ensure(Out_UpCameraPutNum); Out_UpCameraPutNum.Address = "ns=4;s=DB_Communication|FromPC.UpCameraPutNum"; Out_UpCameraPutNum.DataType = "int16"; Out_UpCameraPutNum.Description = Lang.上相机放料拍照次数0无; Out_UPCameracheckNum = Ensure(Out_UPCameracheckNum); Out_UPCameracheckNum.Address = "ns=4;s=DB_Communication|FromPC.UPCameracheckNum"; Out_UPCameracheckNum.DataType = "int16"; Out_UPCameracheckNum.Description = Lang.上相机锁附组装次数0无; Out_FixedCameraPickNum = Ensure(Out_FixedCameraPickNum); Out_FixedCameraPickNum.Address = "ns=4;s=DB_Communication|FromPC.FixedCameraPickNum"; Out_FixedCameraPickNum.DataType = "int16"; Out_FixedCameraPickNum.Description = Lang.取料固定位置拍产品相机数量0无; Out_FixedCameraPutNum = Ensure(Out_FixedCameraPutNum); Out_FixedCameraPutNum.Address = "ns=4;s=DB_Communication|FromPC.FixedCameraPutNum"; Out_FixedCameraPutNum.DataType = "int16"; Out_FixedCameraPutNum.Description = Lang.锁附组装固定位置拍产品相机数量0无; Out_FixedCameracheckNum = Ensure(Out_FixedCameracheckNum); Out_FixedCameracheckNum.Address = "ns=4;s=DB_Communication|FromPC.FixedCameracheckNum"; Out_FixedCameracheckNum.DataType = "int16"; Out_FixedCameracheckNum.Description = Lang.固定相机检测锁附组装次数0无; Out_PickCamera = EnsurePoint(Out_PickCamera); // 3. 为其余 Out_* 设置合理默认(基于注释) Out_WorkNum = Ensure(Out_WorkNum); Out_WorkNum.Address = "ns=4;s=DB_Communication|FromPC.WorkNum"; Out_WorkNum.DataType = "int16"; Out_WorkNum.Description = Lang.锁附组装数量; Out_DownCameraStatus = Ensure(Out_DownCameraStatus); Out_DownCameraStatus.Address = "ns=4;s=DB_Communication|FromPC.DownCameraStatus"; Out_DownCameraStatus.DataType = "int16"; Out_DownCameraStatus.Description = Lang.下相机拍照结果1拍照OK2拍照NG3取图拍照OK; Out_AddScrewView = Ensure(Out_AddScrewView); Out_AddScrewView.Address = "ns=4;s=DB_Communication|FromPC.Out_AddScrewView"; Out_AddScrewView.DataType = "int16"; Out_AddScrewView.Description = Lang.添加螺丝型号结果1成功2失败; Out_Screw_check_status = Ensure(Out_Screw_check_status); Out_Screw_check_status.Address = "ns=4;s=DB_Communication|FromPC.Screw_check_status"; Out_Screw_check_status.DataType = "int16"; Out_Screw_check_status.Description = Lang.相机拍照螺丝复检的结果1OK2NG; Out_UpCameraPickStatus = Ensure(Out_UpCameraPickStatus); Out_UpCameraPickStatus.Address = "ns=4;s=DB_Communication|FromPC.UpCameraPickStatus"; Out_UpCameraPickStatus.DataType = "int16"; Out_UpCameraPickStatus.Description = Lang.上相机取料拍照结果1拍照OK2拍照NG3取图拍照OK; Out_UpCameraPutStatus = Ensure(Out_UpCameraPutStatus); Out_UpCameraPutStatus.Address = "ns=4;s=DB_Communication|FromPC.UpCameraPutStatus"; Out_UpCameraPutStatus.DataType = "int16"; Out_UpCameraPutStatus.Description = Lang.上相机锁附组装拍照结果1拍照OK2拍照NG3取图拍照OK; Out_UPCameracheckStatus = Ensure(Out_UPCameracheckStatus); Out_UPCameracheckStatus.Address = "ns=4;s=DB_Communication|FromPC.UPCameracheckStatus"; Out_UPCameracheckStatus.DataType = "int16"; Out_UPCameracheckStatus.Description = Lang.上相机检测拍照结果1拍照OK2拍照NG3取图拍照OK; Out_FixedCameraPickStatus = Ensure(Out_FixedCameraPickStatus); Out_FixedCameraPickStatus.Address = "ns=4;s=DB_Communication|FromPC.FixedCameraPickStatus"; Out_FixedCameraPickStatus.DataType = "int16"; Out_FixedCameraPickStatus.Description = Lang.固定相机取料拍照结果1拍照OK2拍照NG3取图拍照OK; Out_FixedCameraPutStatus = Ensure(Out_FixedCameraPutStatus); Out_FixedCameraPutStatus.Address = "ns=4;s=DB_Communication|FromPC.FixedCameraPutStatus"; Out_FixedCameraPutStatus.DataType = "int16"; Out_FixedCameraPutStatus.Description = Lang.固定相机锁附组装拍照结果1拍照OK2拍照NG3取图拍照OK; Out_FixedCameracheckStatus = Ensure(Out_FixedCameracheckStatus); Out_FixedCameracheckStatus.Address = "ns=4;s=DB_Communication|FromPC.FixedCameracheckStatus"; Out_FixedCameracheckStatus.DataType = "int16"; Out_FixedCameracheckStatus.Description = Lang.固定相机检测拍照结果1拍照OK2拍照NG3取图拍照OK; Out_CameraDone = Ensure(Out_CameraDone); Out_CameraDone.Address = "ns=4;s=DB_Communication|FromPC.CameraDone"; Out_CameraDone.DataType = "int16"; Out_CameraDone.Description = Lang.相机坐标拟合完成; Out_MesStatus = Ensure(Out_MesStatus); Out_MesStatus.Address = "ns=4;s=DB_Communication|FromPC.MesStatus[{0}]"; Out_MesStatus.DataType = "int16"; Out_MesStatus.Description = Lang.过站信息1允许工作2本站放行3数据上传完成; Out_QrCodePhotoResault = Ensure(Out_QrCodePhotoResault); Out_QrCodePhotoResault.Address = "ns=4;s=DB_Communication|FromPC.photo_dwon"; Out_QrCodePhotoResault.DataType = "int16"; Out_QrCodePhotoResault.Description = "pc发送二维码拍照点位 1=成功 2=失败"; Check_ScrewTorque = Ensure(Check_ScrewTorque); Check_ScrewTorque.Address = "ns=4;s=DB_DriveControl|ScrewCtrl[1].Cmd.ManuStart"; Check_ScrewTorque.DataType = "Bool"; Check_ScrewTorque.Description = "电批正转"; Out_PC_code = Ensure(Out_PC_code); Out_PC_code.Address = "ns=4;s=DB_Communication|FromPC.PC_code[{0}]"; Out_PC_code.DataType = "string"; Out_PC_code.Description = "发送plc流程码"; //首先到废料桶上方投料 //有三个示教的地方 // //Machine.OP_AutoManual ns=4;s=DB_Control|Machine.OP_AutoManual 手自动 都是bool //ns=4;s=DB_DriveControl|VacCtrl[1].Cmd.ManuToHome 关闭真空 只需要给true就行 //ns=4;s=DB_DriveControl|VacCtrl[1].Cmd.ManuTOWork 打开真空 只需要给true就行 //ns=4;s=DB_DriveControl|VacCtrl[1].Status.InWork 真空到位反馈 吸到料 //ns=4;s=DB_DriveControl|ScrewCtrl[1].Cmd.ManuBackward 电批反转 //ns=4;s=DB_DriveControl|AxisCtrl[1].Parm.ManuVelocity Manu_Axis_Velocity Manu_XAxis_Velocity = Ensure(Manu_XAxis_Velocity); Manu_XAxis_Velocity.Address = "ns=4;s=DB_DriveControl|AxisCtrl[1].Parm.ManuVelocity"; Manu_XAxis_Velocity.DataType = "Float"; Manu_XAxis_Velocity.Description = "手动设置X轴速度"; Manu_YAxis_Velocity = Ensure(Manu_YAxis_Velocity); Manu_YAxis_Velocity.Address = "ns=4;s=DB_DriveControl|AxisCtrl[2].Parm.ManuVelocity"; Manu_YAxis_Velocity.DataType = "Float"; Manu_YAxis_Velocity.Description = "手动设置Y轴速度"; Manu_ZAxis_Velocity = Ensure(Manu_ZAxis_Velocity); Manu_ZAxis_Velocity.Address = "ns=4;s=DB_DriveControl|AxisCtrl[3].Parm.ManuVelocity"; Manu_ZAxis_Velocity.DataType = "Float"; Manu_ZAxis_Velocity.Description = "手动设置Z轴速度"; OP_AutoManual = Ensure(OP_AutoManual); OP_AutoManual.Address = "ns=4;s=DB_Control|Machine.OP_AutoManual"; OP_AutoManual.DataType = "Bool"; OP_AutoManual.Description = "手自动切换"; ManuToHome = Ensure(ManuToHome); ManuToHome.Address = "ns=4;s=DB_DriveControl|VacCtrl[1].Cmd.ManuToHome"; ManuToHome.DataType = "Bool"; ManuToHome.Description = "关闭真空"; ManuTOWork = Ensure(ManuTOWork); ManuTOWork.Address = "ns=4;s=DB_DriveControl|VacCtrl[1].Cmd.ManuToWork"; ManuTOWork.DataType = "Bool"; ManuTOWork.Description = "打开真空"; InWork = Ensure(InWork); InWork.Address = "ns=4;s=DB_DriveControl|VacCtrl[1].Status.InWork"; InWork.DataType = "Bool"; InWork.Description = "真空到位反馈"; Screw_OK = Ensure(Screw_OK); Screw_OK.Address = "ns=4;s=DB_DriveControl|ScrewCtrl[1].Status.OK"; Screw_OK.DataType = "Bool"; Screw_OK.Description = "电批OK"; Screw_NG = Ensure(Screw_NG); Screw_NG.Address = "ns=4;s=DB_DriveControl|ScrewCtrl[1].Status.NG"; Screw_NG.DataType = "Bool"; Screw_NG.Description = "电批NG"; Screw_Backward = Ensure(Screw_Backward); Screw_Backward.Address = "ns=4;s=DB_DriveControl|ScrewCtrl[1].Cmd.ManuBackward"; Screw_Backward.DataType = "Bool"; Screw_Backward.Description = "电批反转"; Out_FzCameraPickStatus = Ensure(Out_FzCameraPickStatus); Out_FzCameraPickStatus.Address = "ns=4;s=DB_Communication|FromPC.FzCameraPickStatus"; Out_FzCameraPickStatus.DataType = "int16"; Out_FzCameraPickStatus.Description = "翻转相机取料拍照结果 =1 拍照OK =2 拍照NG =3 取图拍照OK"; // Out_PickCamera 初始化并赋地址 Out_PickCamera = EnsurePoint(Out_PickCamera); Out_PickCamera.Description = Lang.取料拍照点位参数; Out_PickCamera.X_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].X_Position"; Out_PickCamera.X_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].X_Velocity"; Out_PickCamera.Y_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].Y_Position"; Out_PickCamera.Y_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].Y_Velocity"; Out_PickCamera.Z_Position_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].Z_Position_Start"; Out_PickCamera.Z_Velocity_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].Z_Velocity_Start"; Out_PickCamera.Z_Position_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].Z_Position_Stop"; Out_PickCamera.Z_Velocity_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].Z_Velocity_Stop"; Out_PickCamera.U_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].U_Position"; Out_PickCamera.U_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].U_Velocity"; Out_PickCamera.R_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].R_Position"; Out_PickCamera.R_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].R_Velocity"; Out_PickCamera.Torque.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].Torque"; Out_PickCamera.Feeder.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].Feeder"; Out_PickCamera.ScrewProNum.Address = "ns=4;s=DB_Communication|FromPC.Point_PickCamera[{0}].ScrewProNum"; // Out_Pick(取料点位)初始化并赋地址 Out_Pick = EnsurePoint(Out_Pick); Out_Pick.Description = Lang.取料点位参数; Out_Pick.X_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].X_Position"; Out_Pick.X_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].X_Velocity"; Out_Pick.Y_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].Y_Position"; Out_Pick.Y_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].Y_Velocity"; Out_Pick.Z_Position_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].Z_Position_Start"; Out_Pick.Z_Velocity_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].Z_Velocity_Start"; Out_Pick.Z_Position_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].Z_Position_Stop"; Out_Pick.Z_Velocity_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].Z_Velocity_Stop"; Out_Pick.U_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].U_Position"; Out_Pick.U_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].U_Velocity"; Out_Pick.R_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].R_Position"; Out_Pick.R_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].R_Velocity"; Out_Pick.Torque.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].Torque"; Out_Pick.Feeder.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].Feeder"; Out_Pick.ScrewProNum.Address = "ns=4;s=DB_Communication|FromPC.Point_Pick[{0}].ScrewProNum"; // Out_SecPosCamera(下相机二次定位)初始化并赋地址 Out_SecPosCamera = EnsurePoint(Out_SecPosCamera); Out_SecPosCamera.Description = Lang.下相机二次定位点位参数; Out_SecPosCamera.X_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].X_Position"; Out_SecPosCamera.X_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].X_Velocity"; Out_SecPosCamera.Y_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].Y_Position"; Out_SecPosCamera.Y_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].Y_Velocity"; Out_SecPosCamera.Z_Position_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].Z_Position_Start"; Out_SecPosCamera.Z_Velocity_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].Z_Velocity_Start"; Out_SecPosCamera.Z_Position_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].Z_Position_Stop"; Out_SecPosCamera.Z_Velocity_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].Z_Velocity_Stop"; Out_SecPosCamera.U_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].U_Position"; Out_SecPosCamera.U_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].U_Velocity"; Out_SecPosCamera.R_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].R_Position"; Out_SecPosCamera.R_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].R_Velocity"; Out_SecPosCamera.Torque.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].Torque"; Out_SecPosCamera.Feeder.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].Feeder"; Out_SecPosCamera.ScrewProNum.Address = "ns=4;s=DB_Communication|FromPC.Point_SecPosCamera[{0}].ScrewProNum"; // Out_ScrewCamera(锁附拍照点位)初始化并赋地址 Out_ScrewCamera = EnsurePoint(Out_ScrewCamera); Out_ScrewCamera.Description = Lang.锁附拍照点位参数; Out_ScrewCamera.X_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].X_Position"; Out_ScrewCamera.X_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].X_Velocity"; Out_ScrewCamera.Y_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].Y_Position"; Out_ScrewCamera.Y_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].Y_Velocity"; Out_ScrewCamera.Z_Position_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].Z_Position_Start"; Out_ScrewCamera.Z_Velocity_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].Z_Velocity_Start"; Out_ScrewCamera.Z_Position_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].Z_Position_Stop"; Out_ScrewCamera.Z_Velocity_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].Z_Velocity_Stop"; Out_ScrewCamera.U_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].U_Position"; Out_ScrewCamera.U_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].U_Velocity"; Out_ScrewCamera.R_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].R_Position"; Out_ScrewCamera.R_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].R_Velocity"; Out_ScrewCamera.Torque.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].Torque"; Out_ScrewCamera.Feeder.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].Feeder"; Out_ScrewCamera.ScrewProNum.Address = "ns=4;s=DB_Communication|FromPC.Point_ScrewCamera[{0}].ScrewProNum"; // Out_Screw(锁附点位)初始化并赋地址 Out_Screw = EnsurePoint(Out_Screw); Out_Screw.Description = Lang.锁附点位参数; Out_Screw.X_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].X_Position"; Out_Screw.X_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].X_Velocity"; Out_Screw.Y_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].Y_Position"; Out_Screw.Y_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].Y_Velocity"; Out_Screw.Z_Position_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].Z_Position_Start"; Out_Screw.Z_Velocity_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].Z_Velocity_Start"; Out_Screw.Z_Position_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].Z_Position_Stop"; Out_Screw.Z_Velocity_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].Z_Velocity_Stop"; Out_Screw.U_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].U_Position"; Out_Screw.U_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].U_Velocity"; Out_Screw.R_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].R_Position"; Out_Screw.R_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].R_Velocity"; Out_Screw.Torque.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].Torque"; Out_Screw.Feeder.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].Feeder"; Out_Screw.ScrewProNum.Address = "ns=4;s=DB_Communication|FromPC.Point_Screw[{0}].ScrewProNum"; // Out_CheckCamera(复检点位)初始化并赋地址 Out_CheckCamera = EnsurePoint(Out_CheckCamera); Out_CheckCamera.Description = Lang.复检点位参数; Out_CheckCamera.X_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].X_Position"; Out_CheckCamera.X_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].X_Velocity"; Out_CheckCamera.Y_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].Y_Position"; Out_CheckCamera.Y_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].Y_Velocity"; Out_CheckCamera.Z_Position_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].Z_Position_Start"; Out_CheckCamera.Z_Velocity_Start.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].Z_Velocity_Start"; Out_CheckCamera.Z_Position_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].Z_Position_Stop"; Out_CheckCamera.Z_Velocity_Stop.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].Z_Velocity_Stop"; Out_CheckCamera.U_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].U_Position"; Out_CheckCamera.U_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].U_Velocity"; Out_CheckCamera.R_Position.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].R_Position"; Out_CheckCamera.R_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].R_Velocity"; Out_CheckCamera.Torque.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].Torque"; Out_CheckCamera.Feeder.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].Feeder"; Out_CheckCamera.ScrewProNum.Address = "ns=4;s=DB_Communication|FromPC.Point_CheckCamera[{0}].ScrewProNum"; // Out_QrCodeCamera(二维码拍照点位)初始化并赋地址 Out_QrCodeCamera = EnsurePoint(Out_QrCodeCamera); Out_QrCodeCamera.Description = Lang.二维码拍照点位参数; Out_QrCodeCamera.X_Position.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].X_Position"; Out_QrCodeCamera.X_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].X_Velocity"; Out_QrCodeCamera.Y_Position.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].Y_Position"; Out_QrCodeCamera.Y_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].Y_Velocity"; Out_QrCodeCamera.Z_Position_Start.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].Z_Position_Start"; Out_QrCodeCamera.Z_Velocity_Start.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].Z_Velocity_Start"; Out_QrCodeCamera.Z_Position_Stop.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].Z_Position_Stop"; Out_QrCodeCamera.Z_Velocity_Stop.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].Z_Velocity_Stop"; Out_QrCodeCamera.U_Position.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].U_Position"; Out_QrCodeCamera.U_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].U_Velocity"; Out_QrCodeCamera.R_Position.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].R_Position"; Out_QrCodeCamera.R_Velocity.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].R_Velocity"; Out_QrCodeCamera.Torque.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].Torque"; Out_QrCodeCamera.Feeder.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].Feeder"; Out_QrCodeCamera.ScrewProNum.Address = "ns=4;s=DB_Communication|FromPC.Photo_Positipn[{0}].ScrewProNum"; Out_ScrewTeachNum = Ensure(Out_ScrewTeachNum); Out_ScrewTeachNum.Address = "ns=4;s=DB_Communication|FromPC.ScrewTeachNum"; Out_ScrewTeachNum.DataType = "int16"; Out_ScrewTeachNum.Description = Lang.披头矫正的模式1初始化时矫正2每个产品矫正一次3每颗螺丝矫正一次; Out_ScrewTeachOk = Ensure(Out_ScrewTeachOk); Out_ScrewTeachOk.Address = "ns=4;s=DB_Communication|FromPC.ScrewTeachOK"; Out_ScrewTeachOk.DataType = "int16"; Out_ScrewTeachOk.Description = Lang.下相机矫正披头的结果1OK2NG; Out_ScrewFeederIsChanged = Ensure(Out_ScrewFeederIsChanged); Out_ScrewFeederIsChanged.Address = "ns=4;s=DB_Communication|FromPC.PickNumChange"; Out_ScrewFeederIsChanged.DataType = "int16"; Out_ScrewFeederIsChanged.Description = Lang.供料器发生改变; // 4. In_* 默认(假定从 PLC 读到 PC,使用 ToPC 前缀) In_Code = Ensure(In_Code); In_Code.Address = "ns=4;s=DB_Communication|ToPC.Mes[{0}].Code"; In_Code.DataType = "string"; In_Code.Description = Lang.产品编码; In_MesCheck = Ensure(In_MesCheck); In_MesCheck.Address = "ns=4;s=DB_Communication|ToPC.Mes[{0}].Check"; In_MesCheck.DataType = "int16"; In_MesCheck.Description = Lang.Mes交互1获取过站信息当站是否生产2上传本站数据; In_Result = Ensure(In_Result); In_Result.Address = "ns=4;s=DB_Communication|ToPC.Mes[0].Product_Status"; In_Result.DataType = "int16"; In_Result.Description = "产品的最终结果,1:OK; 2:NG"; In_DowmCameraNum = Ensure(In_DowmCameraNum); In_DowmCameraNum.Address = "ns=4;s=DB_Communication|ToPC.DowmCameraNum"; In_DowmCameraNum.DataType = "int16"; In_DowmCameraNum.Description = Lang.下相机拍照编号; In_DowmCameraExe = Ensure(In_DowmCameraExe); In_DowmCameraExe.Address = "ns=4;s=DB_Communication|ToPC.DowmCameraExe"; In_DowmCameraExe.DataType = "int16"; In_DowmCameraExe.Description = Lang.下相机拍照触发; In_UpCameraPickNum = Ensure(In_UpCameraPickNum); In_UpCameraPickNum.Address = "ns=4;s=DB_Communication|ToPC.UpCameraPickNum"; In_UpCameraPickNum.DataType = "int16"; In_UpCameraPickNum.Description = Lang.上相机取料拍照编号; In_UpCameraPickExe = Ensure(In_UpCameraPickExe); In_UpCameraPickExe.Address = "ns=4;s=DB_Communication|ToPC.UpCameraPickExe"; In_UpCameraPickExe.DataType = "int16"; In_UpCameraPickExe.Description = Lang.上相机取料拍照触发; In_UpCameraPutNum = Ensure(In_UpCameraPutNum); In_UpCameraPutNum.Address = "ns=4;s=DB_Communication|ToPC.UpCameraPutNum"; In_UpCameraPutNum.DataType = "int16"; In_UpCameraPutNum.Description = Lang.上相机锁附组装拍照编号; In_UpCameraPutExe = Ensure(In_UpCameraPutExe); In_UpCameraPutExe.Address = "ns=4;s=DB_Communication|ToPC.UpCameraPutExe"; In_UpCameraPutExe.DataType = "int16"; In_UpCameraPutExe.Description = Lang.上相机锁附组装拍照触发; In_UPCameracheckNum = Ensure(In_UPCameracheckNum); In_UPCameracheckNum.Address = "ns=4;s=DB_Communication|ToPC.UPCameracheckNum"; In_UPCameracheckNum.DataType = "int16"; In_UPCameracheckNum.Description = Lang.上相机检测拍照编号; In_UPCameracheckExe = Ensure(In_UPCameracheckExe); In_UPCameracheckExe.Address = "ns=4;s=DB_Communication|ToPC.UPCameracheckExe"; In_UPCameracheckExe.DataType = "int16"; In_UPCameracheckExe.Description = Lang.上相机检测拍照触发; In_FixedCameraPickNum = Ensure(In_FixedCameraPickNum); In_FixedCameraPickNum.Address = "ns=4;s=DB_Communication|ToPC.FixedCameraPickNum"; In_FixedCameraPickNum.DataType = "int16"; In_FixedCameraPickNum.Description = Lang.固定相机取料拍照编号; In_FixedCameraPickExe = Ensure(In_FixedCameraPickExe); In_FixedCameraPickExe.Address = "ns=4;s=DB_Communication|ToPC.FixedCameraPickExe"; In_FixedCameraPickExe.DataType = "int16"; In_FixedCameraPickExe.Description = Lang.固定相机取料拍照触发; In_FixedCameraPutNum = Ensure(In_FixedCameraPutNum); In_FixedCameraPutNum.Address = "ns=4;s=DB_Communication|ToPC.FixedCameraPutNum"; In_FixedCameraPutNum.DataType = "int16"; In_FixedCameraPutNum.Description = Lang.固定相机锁附组装拍照编号; In_FixedCameraPutExe = Ensure(In_FixedCameraPutExe); In_FixedCameraPutExe.Address = "ns=4;s=DB_Communication|ToPC.FixedCameraPutExe"; In_FixedCameraPutExe.DataType = "int16"; In_FixedCameraPutExe.Description = Lang.固定相机锁附组装拍照触发; In_FixedCameracheckNum = Ensure(In_FixedCameracheckNum); In_FixedCameracheckNum.Address = "ns=4;s=DB_Communication|ToPC.FixedCameracheckNum"; In_FixedCameracheckNum.DataType = "int16"; In_FixedCameracheckNum.Description = Lang.固定相机检测拍照编号; In_FixedCameracheckExe = Ensure(In_FixedCameracheckExe); In_FixedCameracheckExe.Address = "ns=4;s=DB_Communication|ToPC.FixedCameracheckExe"; In_FixedCameracheckExe.DataType = "int16"; In_FixedCameracheckExe.Description = Lang.固定相机检测拍照触发; In_QrCodePhotoRequest = Ensure(In_QrCodePhotoRequest); In_QrCodePhotoRequest.Address = "ns=4;s=DB_Communication|ToPC.photo_request"; In_QrCodePhotoRequest.DataType = "int16"; In_QrCodePhotoRequest.Description = Lang.二维码拍照请求; In_ProductNum = Ensure(In_ProductNum); In_ProductNum.Address = "ns=4;s=DB_Communication|ToPC.ProductNum"; In_ProductNum.DataType = "int16"; In_ProductNum.Description = Lang.正在锁附组装编号; In_RequestPosition = Ensure(In_RequestPosition); In_RequestPosition.Address = "ns=4;s=DB_Communication|ToPC.RequestPosition"; In_RequestPosition.DataType = "int16"; In_RequestPosition.Description = Lang.请求目标位置; In_WorkStart = Ensure(In_WorkStart); In_WorkStart.Address = "ns=4;s=DB_Communication|ToPC.WorkStart"; In_WorkStart.DataType = "int16"; In_WorkStart.Description = Lang.锁附组装开始1; In_WorkDone = Ensure(In_WorkDone); In_WorkDone.Address = "ns=4;s=DB_Communication|ToPC.WorkDone"; In_WorkDone.DataType = "int16"; In_WorkDone.Description = Lang.锁附组装结束1OK2NG; In_PressureValue = Ensure(In_PressureValue); In_PressureValue.Address = "ns=4;s=DB_DriveControl|AICtrl[1].Status.UserData"; In_PressureValue.DataType = "float"; In_PressureValue.Description = Lang.压力值; In_ScrewTeachExe = Ensure(In_ScrewTeachExe); In_ScrewTeachExe.Address = "ns=4;s=DB_Communication|ToPC.ScrewTeachExe"; In_ScrewTeachExe.DataType = "bool"; In_ScrewTeachExe.Description = Lang.触发披头视觉矫正; In_Screw_checkExe = Ensure(In_Screw_checkExe); In_Screw_checkExe.Address = "ns=4;s=DB_Communication|ToPC.Screw_checkExe"; In_Screw_checkExe.DataType = "bool"; In_Screw_checkExe.Description = Lang.触发相机拍照螺丝复检; In_PickINC = Ensure(In_PickINC); In_PickINC.Address = "ns=4;s=DB_Communication|ToPC.PickINC"; In_PickINC.DataType = "int16"; In_PickINC.Description = Lang.取一颗螺丝触发信号; //ns=4;s=DB_HMI|Cam_code_mode 读取plc模式 0普通读取plc寄存器的二维码询问mes 1由上位机拍照获取二维码上传mes Cam_code_mode = Ensure(Cam_code_mode); Cam_code_mode.Address = "ns=4;s=DB_HMI|Cam_code_mode"; Cam_code_mode.DataType = "Bool"; Cam_code_mode.Description = "PLC二维码读取模式"; ScrewProvide1 = Ensure(ScrewProvide1); ScrewProvide1.Address = "ns=4;s=DB_Input|X16_螺丝供料器1螺丝到位"; ScrewProvide1.DataType = "Bool"; ScrewProvide1.Description = "螺丝供料器1螺丝到位"; ScrewProvide2 = Ensure(ScrewProvide2); ScrewProvide2.Address = "ns=4;s=DB_Input|X17_螺丝供料器2螺丝到位"; ScrewProvide2.DataType = "Bool"; ScrewProvide2.Description = "螺丝供料器1螺丝到位"; In_Throw = Ensure(In_Throw); In_Throw.Address = "ns=4;s=DB_Communication|Throw[0]"; In_Throw.DataType = "Bool"; In_Throw.Description = "抛料信号"; RunMode = Ensure(RunMode); RunMode.Address = "ns=4;s=DB_Control|Mode.Status.RunMode"; RunMode.DataType = "Bool"; RunMode.Description = "自动运行模式"; AutoRunning = Ensure(AutoRunning); AutoRunning.Address = "ns=4;s=DB_Control|Mode.Status.AutoRunning"; AutoRunning.DataType = "Bool"; AutoRunning.Description = "生产模式"; ManualMode = Ensure(ManualMode); ManualMode.Address = "ns=4;s=DB_Control|Mode.Status.ManualMode"; ManualMode.DataType = "Bool"; ManualMode.Description = "维修模式"; ClearMode = Ensure(ClearMode); ClearMode.Address = "ns=4;s=DB_Control|Mode.Status.ClearMode"; ClearMode.DataType = "Bool"; ClearMode.Description = "流线模式"; Fault = Ensure(Fault); Fault.Address = "ns=4;s=DB_Control|Mode.Status.Fault"; Fault.DataType = "Bool"; Fault.Description = "报警"; In_FzCameraPixExe = Ensure(In_FzCameraPixExe); In_FzCameraPixExe.Address = "ns=4;s=DB_Communication|ToPC.In_FzCameraPickExe"; In_FzCameraPixExe.DataType = "bool"; In_FzCameraPixExe.Description = "翻转相机检测拍照触发"; Out_PlcFail = Ensure(Out_PlcFail); Out_PlcFail.Address = "ns=4;s=DB_Communication|FromPC.PC反馈NG交互[0]"; Out_PlcFail.DataType = "bool"; Out_PlcFail.Description = "PLC触发报警信号"; //ns=4;s=DB_Input|X16_螺丝供料器1螺丝到位 //ns=4;s=DB_Input|X17_螺丝供料器2螺丝到位 // 说明:若项目中 PlcAddress 的实际属性名或类型与此不同(例如使用枚举、不同字段名), // 请根据实际类型调整赋值。本方法主要提供合理的默认字符串地址、数据类型及描述,便于后续从配置覆盖。 } } }