| | |
| | | "navigationBarTitleText": "è´æå«æ", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | |
| | | }, |
| | | { |
| | | "path": "pages/嫿/è¾éçº¿åæµ", |
| | | "style": { |
| | | "navigationBarTitleText": "è¾éçº¿åæµ", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/SetAddress/SetAddress", |
| | |
| | | url: 'pages/嫿/è´æå«æ', |
| | | image: "data:image/png;base64,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" |
| | | }, |
| | | { |
| | | text: '䏿¥¼è¾éçº¿åæµ', |
| | | url: 'pages/嫿/è¾éçº¿åæµ', |
| | | image: "data:image/png;base64,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" |
| | | }, |
| | | // { |
| | | // text: 'äºæ¥¼å²å ä»»å¡', |
| | | // url: 'pages/createTask/jjkto2F', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem"> |
| | | </uni-segmented-control> |
| | | <view class="content"> |
| | | <view v-if="current === 0" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="èµ·ç¹å°å"> |
| | | <!-- <uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress" |
| | | placeholder="请æ«çèµ·ç¹å°å" ref='midInput' @input="inputChangebarcode" /> --> |
| | | <uni-data-select v-model="value" :localdata="rangs"></uni-data-select> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="ç»ç¹å°å"> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="targetAddress" |
| | | placeholder="è¯·æ«æç»ç¹å°å" ref='midInput' @input="inputChangebarcode" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="inbound" type="primary" size="default" |
| | | style="margin-top: 2%;">è¾é线æ¬è¿ç¡®è®¤</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-toast ref="uToast" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | const innerAudioContext = uni.createInnerAudioContext(); |
| | | export default { |
| | | data() { |
| | | return { |
| | | items: ['è¾é线æ¬è¿'], |
| | | current: 0, |
| | | matTotal: [], |
| | | matInfos: [], |
| | | orderNo: "", |
| | | label: "", |
| | | orderDetail: [], |
| | | focus: false, |
| | | barcode: "", |
| | | materSn: "", |
| | | sns: [], |
| | | addressFocus: false, |
| | | targetAddress: "", |
| | | sourceAddress: "", |
| | | address: "", |
| | | check: true, |
| | | value: "", |
| | | matInfo: [], |
| | | value2: "", |
| | | matTotals: [], |
| | | value: 0, |
| | | rangs: [{ |
| | | value: "FJXL-KPHLX001", |
| | | text: "FJXL-KPHLX001" |
| | | }, |
| | | { |
| | | value: "ZJXL-KPHLX001", |
| | | text: "ZJXL-KPHLX001" |
| | | }, |
| | | ], |
| | | // range: [], |
| | | } |
| | | }, |
| | | onShow() {}, |
| | | // onLoad(res) { |
| | | // this.focus = false; |
| | | // this.addressFocus = false; |
| | | // this.orderNo = res.orderNo; |
| | | // this.label = "åæ®ç¼å·ï¼" + this.orderNo; |
| | | // this.getData(); |
| | | // // this.getEndLocations(); |
| | | // }, |
| | | methods: { |
| | | voiceSpeech(src) { |
| | | innerAudioContext.src = src; // '../../static/success.mp3'; |
| | | innerAudioContext.play(); |
| | | }, |
| | | |
| | | updateFocus() { |
| | | this.$nextTick(() => { |
| | | this.materSn = ''; |
| | | if (!this.focus) { |
| | | this.focus = true; |
| | | } |
| | | }); |
| | | }, |
| | | barcodeFocus() { |
| | | this.barcode = ''; |
| | | if (this.focus) { |
| | | this.focus = false; |
| | | } |
| | | }, |
| | | // getData() { |
| | | // var postData = this.orderNo |
| | | |
| | | // this.$u.post('/api/InboundOrder/GetInboundOrderDetail', postData).then((res) => { |
| | | // if (res.status) { |
| | | // this.orderDetail = res.data; |
| | | // if (this.orderDetail.length > 3) { |
| | | // this.loadVisible = true; |
| | | // } |
| | | // } |
| | | // }) |
| | | // }, |
| | | onClickItem(e) { |
| | | this.focus = false; |
| | | this.addressFocus = false; |
| | | if (this.current !== e.currentIndex) { |
| | | this.current = e.currentIndex; |
| | | if (this.current == 2) { |
| | | this.getData(); |
| | | } |
| | | } |
| | | }, |
| | | barcodeInput() { |
| | | this.$nextTick(function(x) { |
| | | if (this.barcode.length > 0) { |
| | | this.focus = true; |
| | | } |
| | | }) |
| | | }, |
| | | inbound() { |
| | | var postData = { |
| | | MainData: { |
| | | "sourceAddress": this.value, |
| | | "targetAddress": this.targetAddress, |
| | | } |
| | | } |
| | | |
| | | this.$u.post('/api/PDA/EmptyTask', postData).then(res => { |
| | | if (res.code == 200) { |
| | | uni.$showMsg("任塿·»å æå"); |
| | | this.sourceAddress = ""; |
| | | this.targetAddress = ""; |
| | | setTimeout(() => { |
| | | // this.materialtype = false; |
| | | }, 200); |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }).catch(err => { |
| | | this.$refs.uToast.show({ |
| | | title: err.message, |
| | | type: "error" |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | inputChangebarcode() { |
| | | this.addressFocus = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.sourceAddress != '') { |
| | | this.addressFocus = true; |
| | | } |
| | | }) |
| | | }, |
| | | // getEndLocations() { |
| | | // this.$u.post('/api/CachePoint/GetEndPoints', null).then(res => { |
| | | // if (res.status) { |
| | | // this.range = res.data; |
| | | // } else { |
| | | // this.$refs.uToast.show({ |
| | | // title: res.message, |
| | | // type: "error" |
| | | // }) |
| | | // } |
| | | // }) |
| | | // } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/common/uni-ui.scss'; |
| | | |
| | | .content { |
| | | display: flex; |
| | | height: 150px; |
| | | } |
| | | |
| | | .content-text { |
| | | font-size: 14px; |
| | | color: #666; |
| | | } |
| | | |
| | | .itemstyle { |
| | | margin-top: 30px; |
| | | margin-left: 5%; |
| | | } |
| | | |
| | | .headerstyle { |
| | | width: 90%; |
| | | } |
| | | </style> |
| | |
| | | /// <param name="dto"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> FinishTask(CZTaskFinshDto dto); |
| | | /// <summary> |
| | | /// è¾éçº¿åæµ |
| | | /// </summary> |
| | | /// <param name="dto"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> EmptyTask(SaveModel saveModel); |
| | | |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | #region << ç æ¬ 注 é >> |
| | | |
| | | /*---------------------------------------------------------------- |
| | | * å½å空é´ï¼WIDESEAWCS_QuartzJob |
| | | * å建è
ï¼è¡ç«¥åº |
| | | * å建æ¶é´ï¼2024/8/2 16:13:36 |
| | | * çæ¬ï¼V1.0.0 |
| | | * æè¿°ï¼ä¸è¬çç¤å®ç°ç±» |
| | | * |
| | | * ---------------------------------------------------------------- |
| | | * ä¿®æ¹äººï¼ |
| | | * ä¿®æ¹æ¶é´ï¼ |
| | | * çæ¬ï¼V1.0.1 |
| | | * ä¿®æ¹è¯´æï¼ |
| | | * |
| | | *----------------------------------------------------------------*/ |
| | | |
| | | #endregion << ç æ¬ 注 é >> |
| | | |
| | | using HslCommunication; |
| | | using System.ComponentModel; |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_QuartzJob.ConveyorLine.Enum; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | |
| | | namespace WIDESEAWCS_QuartzJob |
| | | { |
| | | /// <summary> |
| | | /// çç¤å®ç°å¯¹è±¡ |
| | | /// </summary> |
| | | [Description("Roastçç¤è®¾å¤")] |
| | | public class CommonRoastZ : IRoastZ |
| | | { |
| | | #region Private Member |
| | | |
| | | /// <summary> |
| | | /// çç¤é讯对象 |
| | | /// </summary> |
| | | private readonly BaseCommunicator _communicator; |
| | | |
| | | /// <summary> |
| | | /// çç¤åè®®ä¿¡æ¯ |
| | | /// </summary> |
| | | private readonly List<DeviceProDTO> _deviceProDTOs; |
| | | |
| | | /// <summary> |
| | | /// çç¤åè®®æç»ä¿¡æ¯ |
| | | /// </summary> |
| | | private readonly List<DeviceProtocolDetailDTO> _deviceProtocolDetailDTOs; |
| | | |
| | | /// <summary> |
| | | /// 设å¤ç¼å· |
| | | /// </summary> |
| | | public readonly string _deviceCode; |
| | | |
| | | /// <summary> |
| | | /// 设å¤åç§° |
| | | /// </summary> |
| | | public readonly string _deviceName; |
| | | |
| | | private bool _heartStatr = true; |
| | | |
| | | private bool _isConnected = true; |
| | | |
| | | #endregion |
| | | |
| | | #region Public Member |
| | | |
| | | /// <summary> |
| | | /// çç¤é讯对象 |
| | | /// </summary> |
| | | public BaseCommunicator Communicator => _communicator; |
| | | |
| | | /// <summary> |
| | | /// çç¤åè®®ä¿¡æ¯ |
| | | /// </summary> |
| | | public List<DeviceProDTO> DeviceProDTOs => _deviceProDTOs; |
| | | |
| | | /// <summary> |
| | | /// çç¤åè®®æç»ä¿¡æ¯ |
| | | /// </summary> |
| | | public List<DeviceProtocolDetailDTO> DeviceProtocolDetailDTOs => _deviceProtocolDetailDTOs; |
| | | |
| | | /// <summary> |
| | | /// 设å¤ç¼å· |
| | | /// </summary> |
| | | public string DeviceCode => _deviceCode; |
| | | |
| | | /// <summary> |
| | | /// 设å¤åç§° |
| | | /// </summary> |
| | | public string DeviceName => _deviceName; |
| | | |
| | | /// <summary> |
| | | /// é讯æ¯å¦å·²è¿æ¥ |
| | | /// </summary> |
| | | public bool IsConnected => Communicator.IsConnected && _isConnected; |
| | | |
| | | #endregion |
| | | |
| | | #region Constructor Function |
| | | |
| | | /// <summary> |
| | | /// æé 彿° |
| | | /// </summary> |
| | | /// <param name="communicator">çç¤é讯对象</param> |
| | | /// <param name="deviceProDTOs">çç¤å议信æ¯</param> |
| | | /// <param name="deviceProtocolDetailDTOs">çç¤åè®®æç»ä¿¡æ¯</param> |
| | | /// <param name="deviceCode">设å¤ç¼å·</param> |
| | | /// <param name="deviceName">设å¤åç§°</param> |
| | | public CommonRoastZ(BaseCommunicator communicator, List<DeviceProDTO> deviceProDTOs, List<DeviceProtocolDetailDTO> deviceProtocolDetailDTOs, string deviceCode, string deviceName) |
| | | { |
| | | _communicator = communicator; |
| | | _deviceProDTOs = deviceProDTOs; |
| | | _deviceProtocolDetailDTOs = deviceProtocolDetailDTOs; |
| | | _deviceCode = deviceCode; |
| | | _deviceName = deviceName; |
| | | CheckConnect(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region Private Method |
| | | |
| | | private void CheckConnect() |
| | | { |
| | | Task.Run(() => |
| | | { |
| | | while (_heartStatr) |
| | | { |
| | | try |
| | | { |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(); |
| | | if (devicePro == null) |
| | | _isConnected = false; |
| | | else |
| | | Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | _isConnected = true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _isConnected = false; |
| | | } |
| | | Thread.Sleep(500); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region Public Method |
| | | |
| | | /// <summary> |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | public TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString() && x.DeviceChildCode == deviceChildCode); |
| | | return devicePro == null ? throw new Exception($"è¯»åæ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¸è®¾å¤çå¿è·³ |
| | | /// </summary> |
| | | public void Heartbeat() |
| | | { |
| | | throw new NotImplementedException(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <typeparam name="T"></typeparam> |
| | | /// <param name="command"></param> |
| | | /// <param name="deviceChildCode"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public bool SendCommand<T>(T command, string deviceChildCode) where T : IDataTransfer, new() |
| | | { |
| | | if (Communicator is MelsecA1ENetCommunicator) |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); |
| | | if (devicePro == null) |
| | | { |
| | | return false; |
| | | } |
| | | if (Communicator.WriteCustomer(devicePro.DeviceProAddress, command)) |
| | | { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("æä¸æ¯æé¤è¥¿é¨åä¹å¤çPLC"); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读åPLCæ°æ®ï¼è¿åèªå®ä¹å¯¹è±¡ |
| | | /// </summary> |
| | | /// <typeparam name="T">æ³å</typeparam> |
| | | /// <param name="deviceChildCode">å设å¤ç¼å·</param> |
| | | /// <returns>è¿åèªå®ä¹å¯¹è±¡ææåºå¼å¸¸</returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public T ReadCustomer<T>(string deviceChildCode) where T : IDataTransfer, new() |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == "ReadDeviceCommand" && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); |
| | | |
| | | if (devicePro == null) |
| | | { |
| | | throw new Exception("æªæ¾å°å议信æ¯"); |
| | | } |
| | | else |
| | | { |
| | | return Communicator.ReadCustomer<T>(devicePro.DeviceProAddress); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®åæ°åç§°ã设å¤åç¼å·åå
¥å¯¹åºçæ°æ®ã |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">åæ°åç§°æä¸¾ç±»åã</typeparam> |
| | | /// <typeparam name="TValue">è¦åå
¥çæ°æ®ç±»åã</typeparam> |
| | | /// <param name="enum">åæ°åç§°ã</param> |
| | | /// <param name="value">è¦åå
¥çæ°æ®ã</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·å</param> |
| | | /// <returns>è¿ååå
¥æåæå¤±è´¥</returns> |
| | | public bool SetValue<TEnum, TValue>(TEnum @enum, TValue value, string deviceChildCode) |
| | | where TEnum : Enum |
| | | where TValue : notnull |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString() && x.DeviceChildCode == deviceChildCode); |
| | | return devicePro == null ? throw new Exception($"åå
¥æ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦å ä½ |
| | | /// </summary> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns></returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public bool IsOccupied(string deviceChildCode) |
| | | { |
| | | if (Communicator.IsConnected) |
| | | { |
| | | List<DeviceProDTO> devicePros = _deviceProDTOs.Where(x => x.DeviceProParamType == ConveyorLineStatus.IsOccupied.ToString()).ToList(); |
| | | if (devicePros.Count == 0) |
| | | { |
| | | //todo åè®®ä¿¡æ¯æªè·åå°æ¶æåºå¼å¸¸ |
| | | throw new Exception(); |
| | | } |
| | | for (int i = 0; i < devicePros.Count; i++) |
| | | { |
| | | object readStatus = Communicator.ReadAsObj(devicePros[i].DeviceProAddress, devicePros[i].DeviceDataType); |
| | | //todo åè®®æç»ä¿¡æ¯æªè·åå°æ¶æåºå¼å¸¸ |
| | | DeviceProtocolDetailDTO? deviceProtocolDetail = _deviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == devicePros[i].DeviceProParamName) ?? throw new Exception(); |
| | | deviceProtocolDetail = _deviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == devicePros[i].DeviceProParamType && x.ProtocalDetailValue.Equals(readStatus.ToString())); |
| | | if (deviceProtocolDetail != null) |
| | | { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | } |
| | | //todo é讯æªè¿æ¥æ¶æåºå¼å¸¸ |
| | | return false; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// éæ¾å¯¹è±¡ |
| | | /// </summary> |
| | | public void Dispose() |
| | | { |
| | | // 设置å¿è·³ç¶æä¸ºfalse |
| | | _heartStatr = false; |
| | | // éæ¾éä¿¡å¨èµæº |
| | | _communicator.Dispose(); |
| | | // åè¯åå¾åæ¶å¨ä¸åè°ç¨ç»ç»å¨ |
| | | GC.SuppressFinalize(this); |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | #region << ç æ¬ 注 é >> |
| | | |
| | | /*---------------------------------------------------------------- |
| | | * å½å空é´ï¼WIDESEAWCS_QuartzJob |
| | | * å建è
ï¼è¡ç«¥åº |
| | | * å建æ¶é´ï¼2024/8/2 16:13:36 |
| | | * çæ¬ï¼V1.0.0 |
| | | * æè¿°ï¼è¾é线æ¥å£å± |
| | | * |
| | | * ---------------------------------------------------------------- |
| | | * ä¿®æ¹äººï¼ |
| | | * ä¿®æ¹æ¶é´ï¼ |
| | | * çæ¬ï¼V1.0.1 |
| | | * ä¿®æ¹è¯´æï¼ |
| | | * |
| | | *----------------------------------------------------------------*/ |
| | | |
| | | #endregion << ç æ¬ 注 é >> |
| | | |
| | | using HslCommunication; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | |
| | | namespace WIDESEAWCS_QuartzJob |
| | | { |
| | | /// <summary> |
| | | /// AGVæ¥å£å± |
| | | /// </summary> |
| | | public interface IRoastZ : IDevice |
| | | { |
| | | /// <summary> |
| | | /// é讯对象 |
| | | /// </summary> |
| | | BaseCommunicator Communicator { get; } |
| | | |
| | | /// <summary> |
| | | /// é讯åè®®ä¿¡æ¯ |
| | | /// </summary> |
| | | List<DeviceProDTO> DeviceProDTOs { get; } |
| | | |
| | | /// <summary> |
| | | /// é讯åè®®æç»ä¿¡æ¯ |
| | | /// </summary> |
| | | List<DeviceProtocolDetailDTO> DeviceProtocolDetailDTOs { get; } |
| | | |
| | | /// <summary> |
| | | /// è®¾å¤æ¯å¦å·²è¿æ¥ |
| | | /// </summary> |
| | | bool IsConnected { get; } |
| | | |
| | | /// <summary> |
| | | /// ä¸è®¾å¤çå¿è·³ |
| | | /// </summary> |
| | | void Heartbeat(); |
| | | |
| | | /// <summary> |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum; |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®åæ°åç§°ã设å¤åç¼å·åå
¥å¯¹åºçæ°æ®ã |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">åæ°åç§°æä¸¾ç±»åã</typeparam> |
| | | /// <typeparam name="TValue">è¦åå
¥çæ°æ®ç±»åã</typeparam> |
| | | /// <param name="enum">åæ°åç§°ã</param> |
| | | /// <param name="value">è¦åå
¥çæ°æ®ã</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·å</param> |
| | | /// <returns>è¿ååå
¥æåæå¤±è´¥</returns> |
| | | bool SetValue<TEnum, TValue>(TEnum @enum, TValue value, string deviceChildCode) where TEnum : Enum where TValue : notnull; |
| | | |
| | | /// <summary> |
| | | /// 读åç«å°æ¯å¦è¢«å ç¨ |
| | | /// </summary> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns></returns> |
| | | bool IsOccupied(string deviceChildCode); |
| | | |
| | | /// <summary> |
| | | /// åéä»»å¡å½ä»¤ |
| | | /// </summary> |
| | | /// <typeparam name="T">ä»»å¡å½ä»¤å¯¹è±¡çç±»åæ³å</typeparam> |
| | | /// <param name="command">ä»»å¡å½ä»¤</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns></returns> |
| | | bool SendCommand<T>(T command, string deviceChildCode) where T : IDataTransfer, new(); |
| | | } |
| | | } |
| | |
| | | { |
| | | return _taskCZService.AddTaskCZAsync(czTaskDto); |
| | | } |
| | | |
| | | [HttpPost, Route("EmptyTask"), AllowAnonymous] |
| | | public Task<WebResponseContent> EmptyTask([FromBody] SaveModel saveModel) |
| | | { |
| | | return _taskCZService.EmptyTask(saveModel); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | #endregion << ç æ¬ 注 é >> |
| | | |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | |
| | | { |
| | | public class TaskCZService : ServiceBase<DtCZTask, ITaskCZRepository>, ITaskCZService |
| | | { |
| | | public TaskCZService(ITaskCZRepository BaseDal) : base(BaseDal) |
| | | private readonly ITaskRepository _taskRepository; |
| | | public TaskCZService(ITaskCZRepository BaseDal, ITaskRepository taskRepository) : base(BaseDal) |
| | | { |
| | | _taskRepository = taskRepository; |
| | | } |
| | | |
| | | public Task<WebResponseContent> AddTaskCZAsync(CZTaskDto dto) |
| | |
| | | TaskNumber = dto.Number, |
| | | TaskExecutor = "CZ", |
| | | TaskOrderNo = dto.OrderNo, |
| | | TaskOwner = "KH", |
| | | TaskOwner = "KH", |
| | | TaskProductCode = dto.ProductCode, |
| | | Creater = "KH" |
| | | }; |
| | |
| | | } |
| | | return Task.FromResult(response); |
| | | } |
| | | /// <summary> |
| | | /// è¾éçº¿åæµ |
| | | /// </summary> |
| | | /// <param name="saveModel"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> EmptyTask(SaveModel saveModel) |
| | | { |
| | | WebResponseContent webResponseContent = new WebResponseContent(); |
| | | try |
| | | { |
| | | string Saddress = saveModel.MainData["sourceAddress"].ToString(); |
| | | string Taddress = saveModel.MainData["targetAddress"].ToString(); |
| | | |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == Saddress && x.TaskState == (int)TaskInStatusEnum.InPending && x.TargetAddress == "WaitBind"); |
| | | if (task == null) |
| | | { |
| | | webResponseContent.Error("ä»»å¡ä¸åå¨ï¼"); |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | task.TargetAddress = Taddress; |
| | | task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | var isTrue = _taskRepository.UpdateData(task); |
| | | if (isTrue) |
| | | { |
| | | webResponseContent.OK("ä»»å¡ä¸åæåï¼"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | webResponseContent.Error(ex.Message); |
| | | } |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | string fromAdd = request.Value; |
| | | string taskType = request.Value.Contains("ZJXL") ? "æ£æ" : "è´æ"; |
| | | string taskType = "è´æ"; //request.Value.Contains("ZJXL") ? "æ£æ" : |
| | | |
| | | // æ ¹æ®ä»»å¡ç±»åç¡®å®è¯·æ±å°å |
| | | (string upRequest, string gmRequest, string gmState) = GetRequestAddresses(taskType); |
| | |
| | | // è¾
婿¹æ³ï¼å建任å¡å¯¹è±¡ |
| | | private Dt_Task CreateTask(string currentAddress, string targetAddress, string remark, string palletCode, string taskType) |
| | | { |
| | | Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.SourceAddress == currentAddress); |
| | | if (dt_Task != null) |
| | | { |
| | | return null; |
| | | } |
| | | return new Dt_Task |
| | | { |
| | | TaskNum = _taskService.GetTaskNum(), |
| | |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | // ä»ä¸ä¸æä¸è·å JobParams 并转æ¢ä¸º Roast ç±»å |
| | | //CommonElevator elevator = (CommonElevator)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | CommonRoast elevator = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | // åå§å AGV åé |
| | | AGV agv = null; |
| | | |
| | | if (elevator == null) |
| | | try |
| | | { |
| | | throw new Exception("æªæ¾å°æåæºè®¾å¤åæ°ã"); |
| | | // ä»ä¸ä¸æä¸è·å JobParams 并转æ¢ä¸º Roast ç±»å |
| | | //CommonElevator elevator = (CommonElevator)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | CommonRoast elevator = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | // åå§å AGV åé |
| | | AGV agv = null; |
| | | |
| | | if (elevator == null) |
| | | { |
| | | throw new Exception("æªæ¾å°æåæºè®¾å¤åæ°ã"); |
| | | } |
| | | |
| | | // è¿æ¥ AGV |
| | | // æ ¹æ®è®¾å¤åç§°å³å®æ¯æ£æè¿æ¯è´æ AGV |
| | | List<string> agvNames = new List<string>() { "æ£æAGV", "è´æAGV" }; //"æ£æAGV", |
| | | foreach (var agvName in agvNames) |
| | | { |
| | | // ä»åå¨ä¸æ¥æ¾æå®åç§°çè®¾å¤ |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName); |
| | | if (device != null) |
| | | { |
| | | agv = (AGV)device; |
| | | } |
| | | else |
| | | { |
| | | ConsoleHelper.WriteErrorLine($"æªæ¾å°{agvName}设å¤åæ°ã"); |
| | | continue; |
| | | } |
| | | var elevatorNamesValues = GetDBElevatorNamesValues(agvName); |
| | | var agvNamesValues = GetDBAGVNamesValues(agvName); |
| | | DeviceInteraction(elevator, agv, elevatorNamesValues, agvNamesValues); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | throw; |
| | | } |
| | | |
| | | // è¿æ¥ AGV |
| | | // æ ¹æ®è®¾å¤åç§°å³å®æ¯æ£æè¿æ¯è´æ AGV |
| | | List<string> agvNames = new List<string>() { "è´æAGV" }; //"æ£æAGV", |
| | | foreach (var agvName in agvNames) |
| | | { |
| | | // ä»åå¨ä¸æ¥æ¾æå®åç§°çè®¾å¤ |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName); |
| | | if (device != null) |
| | | { |
| | | agv = (AGV)device; |
| | | } |
| | | else |
| | | { |
| | | ConsoleHelper.WriteErrorLine($"æªæ¾å°{agvName}设å¤åæ°ã"); |
| | | continue; |
| | | } |
| | | var elevatorNamesValues = GetDBElevatorNamesValues(agvName); |
| | | var agvNamesValues = GetDBAGVNamesValues(agvName); |
| | | DeviceInteraction(elevator, agv, elevatorNamesValues, agvNamesValues); |
| | | } |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | |
| | | var agvSignal = agv.Communicator.Read(agvNames[1], 100); |
| | | |
| | | agv.Communicator.Write(agvNames[0], elevatorSignal); |
| | | elevator.Communicator.Write(agvNames[1], agvSignal); |
| | | elevator.Communicator.Write(elevatorNames[1], agvSignal); |
| | | |
| | | ConsoleHelper.WriteInfoLine($"æ£æAGV交äº: åå
¥çµæ¢¯ä¿¡å·[{elevatorSignal}]å°{agvNames[0]}ï¼" + |
| | | $"åå
¥AGVä¿¡å·[{agvSignal}]å°{agvNames[1]}"); |
| | |
| | | "DB1002.18600", |
| | | "DB1002.18500", |
| | | "DB1002.18700", |
| | | "DB1002.18000", |
| | | "DB1002.18800", |
| | | "DB1002.19000", |
| | | "DB1002.18200", |
| | | "DB1002.18000", |
| | | "DB1002.18900", |
| | | "DB1002.19100" |
| | | }; |
| | |
| | | GC.SuppressFinalize(this); |
| | | } |
| | | |
| | | public Task Execute1(IJobExecutionContext context) |
| | | { |
| | | CommonRoast roast = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | AGV agv = null; |
| | | if (roast.DeviceName.Contains("æ£æ")) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == "æ£æAGV"); |
| | | if (device != null) |
| | | { |
| | | agv = (AGV)device; |
| | | } |
| | | else |
| | | throw new Exception("No such device found."); |
| | | |
| | | MatchCollection matches = Regex.Matches(roast.DeviceName, @"\d+"); |
| | | int number = int.Parse(matches[0].Value); |
| | | // å建ä¸ä¸ªå
嫿æ double å¼çéå |
| | | List<double> doubleValues = new List<double>(); |
| | | |
| | | if (number < 3) |
| | | { |
| | | doubleValues = new List<double> |
| | | { |
| | | 8093.6, 8093.7, 3493.6, 3493.7, 8094.0, 8095.0, 8096.0, 8097.0, 8098.0, |
| | | 8194.0, 8195.0, 8196.0, 8197.0, 3494.0, 3495.0, 3496.0, 3594.0, 3595.0, |
| | | 3596.0, 3597.0, 3598.0, 3599.0, 8192.2, 3592.2 |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | doubleValues = new List<double> |
| | | { |
| | | 1693.6, 1693.7, 293.6, 293.6, 1694.0, 1695.0, 1696.0, 1697.0, 1698.0, |
| | | 1794.0, 1795.0, 1796.0, 1797.0, 294.0, 295.0, 296.0, 394.0, 395.0, 396.0, |
| | | 397.0,398.0,399.0,1792.2,392.2 |
| | | }; |
| | | } |
| | | |
| | | if (number < 3) |
| | | { |
| | | // æ ¹æ® number çå¼è°æ´éåä¸çæ¯ä¸ªå
ç´ |
| | | for (int i = 0; i < doubleValues.Count; i++) |
| | | { |
| | | doubleValues[i] += (number - 1) * 400; |
| | | } |
| | | } |
| | | else |
| | | {// æ ¹æ® number çå¼è°æ´éåä¸çæ¯ä¸ªå
ç´ |
| | | for (int i = 0; i < doubleValues.Count; i++) |
| | | { |
| | | doubleValues[i] += (number - 3) * 400; |
| | | } |
| | | } |
| | | } |
| | | else if (roast.DeviceName.Contains("è´æ")) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == "è´æAGV"); |
| | | if (device != null) |
| | | { |
| | | agv = (AGV)device; |
| | | } |
| | | else |
| | | throw new Exception("No such device found."); |
| | | |
| | | MatchCollection matches = Regex.Matches(roast.DeviceName, @"\d+"); |
| | | int number = int.Parse(matches[0].Value); |
| | | |
| | | List<double> doubleValues = new List<double>(); |
| | | |
| | | if (number < 3) |
| | | { |
| | | doubleValues = new List<double> |
| | | { |
| | | 8893.6, 8893.7, 9093.6, 9093.7, 8894.0, 8895.0, 8896.0, 8897.0, 8898.0, |
| | | 8994.0, 8995.0, 8996.0, 8997.0, 9094.0, 9095.0, 9096.0, 9194.0, 9195.0, |
| | | 9196.0, 9197.0, 9198.0, 9199.0, 8992.2, 9192.2 |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | doubleValues = new List<double> |
| | | { |
| | | 4893.6, 4893.7, 5093.6, 5093.6, 4894.0, 4895.0, 4896.0, 4897.0, 4898.0, |
| | | 4994.0, 4995.0, 4996.0, 4997.0, 5094.0, 5095.0, 5096.0, 5194.0, 5195.0, |
| | | 5196.0, 5197.0, 5198.0, 5199.0, 4992.2, 5192.2 |
| | | }; |
| | | } |
| | | if (number < 3) |
| | | { |
| | | // æ ¹æ® number çå¼è°æ´éåä¸çæ¯ä¸ªå
ç´ |
| | | for (int i = 0; i < doubleValues.Count; i++) |
| | | { |
| | | doubleValues[i] += (number - 1) * 400; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | // æ ¹æ® number çå¼è°æ´éåä¸çæ¯ä¸ªå
ç´ |
| | | for (int i = 0; i < doubleValues.Count; i++) |
| | | { |
| | | doubleValues[i] += (number - 3) * 400; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | throw new Exception("No such device found."); |
| | | |
| | | throw new NotImplementedException(); |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | try |
| | |
| | | } |
| | | |
| | | // æ ¹æ®è®¾å¤åç§°å³å®æ¯æ£æè¿æ¯è´æ AGV |
| | | string devicePrefix = roast.DeviceName.Contains("æ£æ") ? "æ£æ" : "è´æ"; |
| | | string devicePrefix = roast.DeviceCode.Contains("FJ") ? "è´æ" : "æ£æ"; |
| | | string agvName = $"{devicePrefix}AGV"; |
| | | |
| | | // ä»åå¨ä¸æ¥æ¾æå®åç§°çè®¾å¤ |
| | |
| | | } |
| | | |
| | | // 读AGVå
¥æ |
| | | byte[] RFAGVup = new byte[] |
| | | { |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[9]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[10]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[11]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[12]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[22]}") |
| | | }; |
| | | |
| | | short RFAGVa = agv.Communicator.Read<byte>($"DB1002.{doubleValues[9]}"); |
| | | short RFAGVb = agv.Communicator.Read<byte>($"DB1002.{doubleValues[10]}"); |
| | | short RFAGVc = agv.Communicator.Read<byte>($"DB1002.{doubleValues[11]}"); |
| | | short RFAGVd = agv.Communicator.Read<byte>($"DB1002.{doubleValues[12]}"); |
| | | bool RFAGVe = agv.Communicator.Read<bool>($"DB1002.{doubleValues[22]}"); |
| | | |
| | | |
| | | // åçç¤å
¥æ |
| | | string[] writeAddressesUp = new string[] { "D1940", "D1941", "D1955", "D1956", "M691" }; |
| | | for (int i = 0; i < RFAGVup.Length; i++) |
| | | { |
| | | roast.Communicator.Write(writeAddressesUp[i], RFAGVup[i]); |
| | | } |
| | | |
| | | //string[] writeAddressesUp = new string[] { "D1940", "D1941", "D1955", "D1956", "M691" }; |
| | | //for (int i = 0; i < RFAGVup.Length; i++) |
| | | //{ |
| | | // roast.Communicator.Write(writeAddressesUp[i], RFAGVup[i]); |
| | | //} |
| | | roast.Communicator.Write("D1940", RFAGVa); |
| | | roast.Communicator.Write("D1941", RFAGVb); |
| | | roast.Communicator.Write("D1955", RFAGVc); |
| | | roast.Communicator.Write("D1956", RFAGVd); |
| | | roast.Communicator.Write("M691", RFAGVe); |
| | | // 读çç¤åºæ |
| | | short[] RFHKdown = new short[] |
| | | { |
| | |
| | | } |
| | | |
| | | // 读AGVåºæ |
| | | byte[] RFAGVdown = new byte[] |
| | | { |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[16]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[17]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[18]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[19]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[20]}"), |
| | | agv.Communicator.Read<byte>($"DB1002.{doubleValues[21]}") |
| | | }; |
| | | short RFAGVdowna = agv.Communicator.Read<byte>($"DB1002.{doubleValues[16]}"); |
| | | short RFAGVdownb = agv.Communicator.Read<byte>($"DB1002.{doubleValues[17]}"); |
| | | short RFAGVdownc = agv.Communicator.Read<byte>($"DB1002.{doubleValues[18]}"); |
| | | short RFAGVdownd = agv.Communicator.Read<byte>($"DB1002.{doubleValues[19]}"); |
| | | short RFAGVdowne = agv.Communicator.Read<byte>($"DB1002.{doubleValues[20]}"); |
| | | short RFAGVdownf = agv.Communicator.Read<byte>($"DB1002.{doubleValues[21]}"); |
| | | bool RFAGVdowng = agv.Communicator.Read<bool>($"DB1002.{doubleValues[23]}"); |
| | | |
| | | // åçç¤åºæ |
| | | string[] writeAddressesDown = new string[] { "D1940", "D1941", "D1957", "D1952", "D1953", "D1958", "M692" }; |
| | | for (int i = 0; i < RFAGVdown.Length; i++) |
| | | { |
| | | roast.Communicator.Write(writeAddressesDown[i], RFAGVdown[i]); |
| | | } |
| | | roast.Communicator.Write(writeAddressesDown[6], RFAGVdowng); |
| | | //string[] writeAddressesDown = new string[] { "D1940", "D1941", "D1957", "D1952", "D1953", "D1958", "M692" }; |
| | | roast.Communicator.Write("D1940", RFAGVdowna); |
| | | roast.Communicator.Write("D1941", RFAGVdownb); |
| | | roast.Communicator.Write("D1957", RFAGVdownc); |
| | | roast.Communicator.Write("D1952", RFAGVdownd); |
| | | roast.Communicator.Write("D1953", RFAGVdowne); |
| | | roast.Communicator.Write("D1958", RFAGVdownf); |
| | | roast.Communicator.Write("M692", RFAGVdowng); |
| | | } |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using Quartz; |
| | | using System.Text.RegularExpressions; |
| | | using WIDESEAWCS_QuartzJob; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | | internal class CommonRoastZJob : JobBase, IJob, IDisposable |
| | | { |
| | | public CommonRoastZJob() |
| | | { |
| | | } |
| | | |
| | | public void Dispose() |
| | | { |
| | | GC.SuppressFinalize(this); |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | try |
| | | { |
| | | // ä»ä¸ä¸æä¸è·å JobParams 并转æ¢ä¸º Roast ç±»å |
| | | CommonRoastZ roast = (CommonRoastZ)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | // åå§å AGV åé |
| | | AGV agv = null; |
| | | |
| | | if (roast == null) |
| | | { |
| | | throw new Exception("æªæ¾å°çç¤è®¾å¤åæ°ã"); |
| | | } |
| | | |
| | | // æ ¹æ®è®¾å¤åç§°å³å®æ¯æ£æè¿æ¯è´æ AGV |
| | | string devicePrefix = roast.DeviceCode.Contains("FJ") ? "è´æ" : "æ£æ"; |
| | | string agvName = $"{devicePrefix}AGV"; |
| | | |
| | | // ä»åå¨ä¸æ¥æ¾æå®åç§°çè®¾å¤ |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName); |
| | | if (device != null) |
| | | { |
| | | agv = (AGV)device; |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("æªæ¾å°AGV设å¤åæ°ã"); |
| | | } |
| | | |
| | | // ä½¿ç¨æ£å表达å¼ä»è®¾å¤åç§°ä¸æåæ°å |
| | | MatchCollection matches = Regex.Matches(roast.DeviceName, @"\d+"); |
| | | if (matches.Count == 0) |
| | | { |
| | | throw new Exception("No number found in device name."); |
| | | } |
| | | int number = int.Parse(matches[0].Value); |
| | | |
| | | |
| | | |
| | | // æ ¹æ®numberçå¼éæ©ç¸åºçdoubleéåå¹¶è°æ´å¼ |
| | | List<double> doubleValues = GetDoubleValues(roast.DeviceName.Contains("æ£æ"), number); |
| | | |
| | | DeviceInteraction(roast, agv, doubleValues); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine(ex.Message); |
| | | } |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | public static void DeviceInteraction(CommonRoastZ roast, AGV agv, List<double> doubleValues) |
| | | { |
| | | #region |
| | | ////读çç¤æ»çæ¯å¦è½¬å¨ |
| | | //bool RHKupFGTZ1 = roast.Communicator.Read<bool>("YC"); |
| | | //bool RHKupFGTZ2 = roast.Communicator.Read<bool>("YD"); |
| | | //bool RHKupFGTZ3 = roast.Communicator.Read<bool>("YE"); |
| | | //bool RHKupFGTZ4 = roast.Communicator.Read<bool>("YF"); |
| | | ////åAGVæ»çè½¬å¨ |
| | | //agv.Communicator.Write("DB1002." + doubleValues[0], RHKupFGTZ1); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[1], RHKupFGTZ2); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[2], RHKupFGTZ3); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[3], RHKupFGTZ4); |
| | | |
| | | ////读çç¤å
¥æ |
| | | //var RFHKupa = roast.Communicator.Read<short>("D1960"); |
| | | //var RFHKupb = roast.Communicator.Read<short>("D15"); |
| | | //var RFHKupc = roast.Communicator.Read<short>("D1961"); |
| | | //var RFHKupd = roast.Communicator.Read<short>("D1950"); |
| | | //var RFHKupe = roast.Communicator.Read<short>("D1951"); |
| | | |
| | | ////åAGVå
¥æ |
| | | //agv.Communicator.Write("DB1002." + doubleValues[4], byte.Parse(RFHKupa.ToString())); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[5], byte.Parse(RFHKupb.ToString())); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[6], byte.Parse(RFHKupc.ToString())); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[7], byte.Parse(RFHKupd.ToString())); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[8], byte.Parse(RFHKupe.ToString())); |
| | | |
| | | ////读AGVå
¥æ |
| | | //var RFAGVa = agv.Communicator.Read<byte>("DB1002." + doubleValues[9]); |
| | | //var RFAGVb = agv.Communicator.Read<byte>("DB1002." + doubleValues[10]); |
| | | //var RFAGVc = agv.Communicator.Read<byte>("DB1002." + doubleValues[11]); |
| | | //var RFAGVd = agv.Communicator.Read<byte>("DB1002." + doubleValues[12]); |
| | | //var RFAGVe = agv.Communicator.Read<byte>("DB1002." + doubleValues[22]); |
| | | |
| | | ////åçç¤å
¥æ |
| | | //roast.Communicator.Write("D1940", RFAGVa); |
| | | //roast.Communicator.Write("D1941", RFAGVb); |
| | | //roast.Communicator.Write("D1955", RFAGVc); |
| | | //roast.Communicator.Write("D1956", RFAGVd); |
| | | //roast.Communicator.Write("M691", RFAGVe); |
| | | |
| | | ////读çç¤åºæ |
| | | //var RFHKdowna = roast.Communicator.Read<short>("D1960"); |
| | | //var RFHKdownb = roast.Communicator.Read<short>("D35"); |
| | | //var RFHKdownc = roast.Communicator.Read<short>("D1962"); |
| | | |
| | | ////åAGVåºæ |
| | | //agv.Communicator.Write("DB1002." + doubleValues[13], byte.Parse(RFHKdowna.ToString())); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[14], byte.Parse(RFHKdownb.ToString())); |
| | | //agv.Communicator.Write("DB1002." + doubleValues[15], byte.Parse(RFHKdownc.ToString())); |
| | | |
| | | ////读AGVåºæ |
| | | //var RFAGVdowna = agv.Communicator.Read<byte>("DB1002." + doubleValues[16]); |
| | | //var RFAGVdownb = agv.Communicator.Read<byte>("DB1002." + doubleValues[17]); |
| | | //var RFAGVdownc = agv.Communicator.Read<byte>("DB1002." + doubleValues[18]); |
| | | //var RFAGVdownd = agv.Communicator.Read<byte>("DB1002." + doubleValues[19]); |
| | | //var RFAGVdowne = agv.Communicator.Read<byte>("DB1002." + doubleValues[20]); |
| | | //var RFAGVdownf = agv.Communicator.Read<byte>("DB1002." + doubleValues[21]); |
| | | //var RFAGVdowng = agv.Communicator.Read<bool>("DB1002." + doubleValues[23]); |
| | | |
| | | ////åçç¤åºæ |
| | | //roast.Communicator.Write("D1940", RFAGVdowna); |
| | | //roast.Communicator.Write("D1941", RFAGVdownb); |
| | | //roast.Communicator.Write("D1957", RFAGVdownc); |
| | | //roast.Communicator.Write("D1952", RFAGVdownd); |
| | | //roast.Communicator.Write("D1953", RFAGVdowne); |
| | | //roast.Communicator.Write("D1958", RFAGVdownf); |
| | | //roast.Communicator.Write("M692", RFAGVdowng); |
| | | #endregion |
| | | |
| | | // 读çç¤æ»çæ¯å¦è½¬å¨ |
| | | bool[] RHKupFGTZ = new bool[] |
| | | { |
| | | roast.Communicator.Read<bool>("YC"), |
| | | roast.Communicator.Read<bool>("YD"), |
| | | roast.Communicator.Read<bool>("YE"), |
| | | roast.Communicator.Read<bool>("YF") |
| | | }; |
| | | |
| | | // åAGVæ»çè½¬å¨ |
| | | for (int i = 0; i < RHKupFGTZ.Length; i++) |
| | | { |
| | | agv.Communicator.Write($"DB1002.{doubleValues[i]}", RHKupFGTZ[i]); |
| | | } |
| | | |
| | | // 读çç¤å
¥æ |
| | | short[] RFHKup = new short[] |
| | | { |
| | | roast.Communicator.Read<short>("D1960"), |
| | | roast.Communicator.Read<short>("D15"), |
| | | roast.Communicator.Read<short>("D1961"), |
| | | roast.Communicator.Read<short>("D1950"), |
| | | roast.Communicator.Read<short>("D1951") |
| | | }; |
| | | |
| | | // åAGVå
¥æ |
| | | for (int i = 0; i < RFHKup.Length; i++) |
| | | { |
| | | agv.Communicator.Write($"DB1002.{doubleValues[i + 4]}", (byte)RFHKup[i]); |
| | | } |
| | | |
| | | // 读AGVå
¥æ |
| | | |
| | | short RFAGVa = agv.Communicator.Read<byte>($"DB1002.{doubleValues[9]}"); |
| | | short RFAGVb = agv.Communicator.Read<byte>($"DB1002.{doubleValues[10]}"); |
| | | short RFAGVc = agv.Communicator.Read<byte>($"DB1002.{doubleValues[11]}"); |
| | | short RFAGVd = agv.Communicator.Read<byte>($"DB1002.{doubleValues[12]}"); |
| | | bool RFAGVe = agv.Communicator.Read<bool>($"DB1002.{doubleValues[22]}"); |
| | | |
| | | |
| | | // åçç¤å
¥æ |
| | | //string[] writeAddressesUp = new string[] { "D1940", "D1941", "D1955", "D1956", "M691" }; |
| | | //for (int i = 0; i < RFAGVup.Length; i++) |
| | | //{ |
| | | // roast.Communicator.Write(writeAddressesUp[i], RFAGVup[i]); |
| | | //} |
| | | roast.Communicator.Write("D1940", RFAGVa); |
| | | roast.Communicator.Write("D1941", RFAGVb); |
| | | roast.Communicator.Write("D1955", RFAGVc); |
| | | roast.Communicator.Write("D1956", RFAGVd); |
| | | roast.Communicator.Write("M691", RFAGVe); |
| | | // 读çç¤åºæ |
| | | short[] RFHKdown = new short[] |
| | | { |
| | | roast.Communicator.Read<short>("D1960"), |
| | | roast.Communicator.Read<short>("D35"), |
| | | roast.Communicator.Read<short>("D1962") |
| | | }; |
| | | |
| | | // åAGVåºæ |
| | | for (int i = 0; i < RFHKdown.Length; i++) |
| | | { |
| | | agv.Communicator.Write($"DB1002.{doubleValues[i + 13]}", (byte)RFHKdown[i]); |
| | | } |
| | | |
| | | // 读AGVåºæ |
| | | short RFAGVdowna = agv.Communicator.Read<byte>($"DB1002.{doubleValues[16]}"); |
| | | short RFAGVdownb = agv.Communicator.Read<byte>($"DB1002.{doubleValues[17]}"); |
| | | short RFAGVdownc = agv.Communicator.Read<byte>($"DB1002.{doubleValues[18]}"); |
| | | short RFAGVdownd = agv.Communicator.Read<byte>($"DB1002.{doubleValues[19]}"); |
| | | short RFAGVdowne = agv.Communicator.Read<byte>($"DB1002.{doubleValues[20]}"); |
| | | short RFAGVdownf = agv.Communicator.Read<byte>($"DB1002.{doubleValues[21]}"); |
| | | bool RFAGVdowng = agv.Communicator.Read<bool>($"DB1002.{doubleValues[23]}"); |
| | | |
| | | // åçç¤åºæ |
| | | //string[] writeAddressesDown = new string[] { "D1940", "D1941", "D1957", "D1952", "D1953", "D1958", "M692" }; |
| | | roast.Communicator.Write("D1940", RFAGVdowna); |
| | | roast.Communicator.Write("D1941", RFAGVdownb); |
| | | roast.Communicator.Write("D1957", RFAGVdownc); |
| | | roast.Communicator.Write("D1952", RFAGVdownd); |
| | | roast.Communicator.Write("D1953", RFAGVdowne); |
| | | roast.Communicator.Write("D1958", RFAGVdownf); |
| | | roast.Communicator.Write("M692", RFAGVdowng); |
| | | } |
| | | |
| | | |
| | | // æ ¹æ®è®¾å¤ç±»åånumberçå¼è·åå¹¶è°æ´doubleå¼éå |
| | | private List<double> GetDoubleValues(bool isPositivePole, int number) |
| | | { |
| | | List<double> doubleValues; |
| | | |
| | | if (isPositivePole) |
| | | { |
| | | doubleValues = number < 3 |
| | | ? new List<double> { 8093.6, 8093.7, 3493.6, 3493.7, 8094.0, 8095.0, 8096.0, 8097.0, 8098.0, 8194.0, 8195.0, 8196.0, 8197.0, 3494.0, 3495.0, 3496.0, 3594.0, 3595.0, 3596.0, 3597.0, 3598.0, 3599.0, 8192.2, 3592.2 } |
| | | : new List<double> { 1693.6, 1693.7, 293.6, 293.6, 1694.0, 1695.0, 1696.0, 1697.0, 1698.0, 1794.0, 1795.0, 1796.0, 1797.0, 294.0, 295.0, 296.0, 394.0, 395.0, 396.0, 397.0, 398.0, 399.0, 1792.2, 392.2 }; |
| | | } |
| | | else // è´æ |
| | | { |
| | | doubleValues = number < 3 |
| | | ? new List<double> { 8893.6, 8893.7, 9093.6, 9093.7, 8894.0, 8895.0, 8896.0, 8897.0, 8898.0, 8994.0, 8995.0, 8996.0, 8997.0, 9094.0, 9095.0, 9096.0, 9194.0, 9195.0, 9196.0, 9197.0, 9198.0, 9199.0, 8992.2, 9192.2 } |
| | | : new List<double> { 4893.6, 4893.7, 5093.6, 5093.6, 4894.0, 4895.0, 4896.0, 4897.0, 4898.0, 4994.0, 4995.0, 4996.0, 4997.0, 5094.0, 5095.0, 5096.0, 5194.0, 5195.0, 5196.0, 5197.0, 5198.0, 5199.0, 4992.2, 5192.2 }; |
| | | } |
| | | |
| | | // è°æ´doubleéåä¸çæ¯ä¸ªå
ç´ |
| | | int adjustmentFactor = (number < 3 ? (number - 1) : (number - 3)) * 400; |
| | | return doubleValues.Select(val => val + adjustmentFactor).ToList(); |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | aa = tsjplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.11400", agvkpbdownmes.Content.ToArray()); |
| | | |
| | | //读agv |
| | | OperateResult<byte[]> agvkcpupmes = fagvthreeplc.SiemensPLCClient.SiemensS7NetClient.Read("DB1002.17900", 100); |
| | | OperateResult<byte[]> agvkcpupmes = fagvthreeplc.SiemensPLCClient.SiemensS7NetClient.Read("DB1002.17900", 100); //è´æçº¿ä½ |
| | | OperateResult<byte[]> agvkcpdownmes = fagvthreeplc.SiemensPLCClient.SiemensS7NetClient.Read("DB1002.18100", 100); |
| | | //åæåæº |
| | | aa = tsjplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1900", agvkcpupmes.Content.ToArray()); |
| | |
| | | OperateResult<byte> RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbi + fornum)); |
| | | OperateResult<bool> RAGVe = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdby + fornum)); |
| | | //å
¥æå£åçç®± |
| | | OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content); |
| | | Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content); |
| | | Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content); |
| | | Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content); |
| | | Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content); |
| | | //䏿å£è¯»çç®± |
| | | OperateResult<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); |
| | | OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35"); |
| | | OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962"); |
| | | //䏿å£åAGV |
| | | OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbj + fornum), byte.Parse(RHKdowna.Content.ToString())); |
| | | Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbk + fornum), byte.Parse(RHKdownb.Content.ToString())); |
| | | Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbl + fornum), byte.Parse(RHKdownc.Content.ToString())); |
| | | //OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content); |
| | | //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content); |
| | | //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content); |
| | | //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content); |
| | | //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content); |
| | | ////䏿å£è¯»çç®± |
| | | //OperateResult<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); |
| | | //OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35"); |
| | | //OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962"); |
| | | ////䏿å£åAGV |
| | | //OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbj + fornum), byte.Parse(RHKdowna.Content.ToString())); |
| | | //Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbk + fornum), byte.Parse(RHKdownb.Content.ToString())); |
| | | //Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbl + fornum), byte.Parse(RHKdownc.Content.ToString())); |
| | | //䏿å£è¯»AGV |
| | | OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbm + fornum)); |
| | | OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbq + fornum)); |
| | | OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbr + fornum)); |
| | | OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbs + fornum)); |
| | | OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbt + fornum)); |
| | | OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbx + fornum)); |
| | | OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdbz + fornum)); |
| | | //䏿å£åçç®± |
| | | OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content); |
| | | //OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbm + fornum)); |
| | | //OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbq + fornum)); |
| | | //OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbr + fornum)); |
| | | //OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbs + fornum)); |
| | | //OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbt + fornum)); |
| | | //OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbx + fornum)); |
| | | //OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdbz + fornum)); |
| | | ////䏿å£åçç®± |
| | | //OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content); |
| | | |
| | | fornum += 400; |
| | | } |
| | |
| | | |
| | | //åAGVæ»çè½¬å¨ |
| | | OperateResult WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT1 + fornumthree), RHKupGTZ1.Content); |
| | | WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content); |
| | | WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content); |
| | | WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content); |
| | | //WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content); |
| | | //WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content); |
| | | //WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content); |
| | | |
| | | //å
¥æå£è¯»çç®± |
| | | OperateResult<short> RHKupa = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); |
| | |
| | | OperateResult<short> RHKupe = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1951"); |
| | | //å
¥æå£åAGV |
| | | OperateResult Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedba + fornumthree), byte.Parse(RHKupa.Content.ToString())); |
| | | Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString())); |
| | | Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString())); |
| | | Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString())); |
| | | Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString())); |
| | | //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString())); |
| | | //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString())); |
| | | //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString())); |
| | | //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString())); |
| | | //å
¥æå£è¯»agv |
| | | OperateResult<byte> RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbf + fornumthree)); |
| | | OperateResult<byte> RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbg + fornumthree)); |
| | |
| | | OperateResult<byte> RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbi + fornumthree)); |
| | | OperateResult<bool> RAGVe = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedby + fornumthree)); |
| | | //å
¥æå£åçç®± |
| | | OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content); |
| | | Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content); |
| | | Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content); |
| | | Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content); |
| | | Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content); |
| | | //䏿å£è¯»çç®± |
| | | OperateResult<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); |
| | | OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35"); |
| | | OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962"); |
| | | //䏿å£åAGV |
| | | OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbj + fornumthree), byte.Parse(RHKdowna.Content.ToString())); |
| | | //OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content); |
| | | //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content); |
| | | //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content); |
| | | //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content); |
| | | //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content); |
| | | ////䏿å£è¯»çç®± |
| | | //OperateResult<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); |
| | | //OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35"); |
| | | //OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962"); |
| | | ////䏿å£åAGV |
| | | //OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbj + fornumthree), byte.Parse(RHKdowna.Content.ToString())); |
| | | |
| | | Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbk + fornumthree), byte.Parse(RHKdownb.Content.ToString())); |
| | | Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbl + fornumthree), byte.Parse(RHKdownc.Content.ToString())); |
| | | //䏿å£è¯»AGV |
| | | OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbm + fornumthree)); |
| | | OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbq + fornumthree)); |
| | | OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbr + fornumthree)); |
| | | OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbs + fornumthree)); |
| | | OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbt + fornumthree)); |
| | | OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbx + fornumthree)); |
| | | OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedbz + fornumthree)); |
| | | //䏿å£åçç®± |
| | | OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content); |
| | | Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content); |
| | | //Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbk + fornumthree), byte.Parse(RHKdownb.Content.ToString())); |
| | | //Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbl + fornumthree), byte.Parse(RHKdownc.Content.ToString())); |
| | | ////䏿å£è¯»AGV |
| | | //OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbm + fornumthree)); |
| | | //OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbq + fornumthree)); |
| | | //OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbr + fornumthree)); |
| | | //OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbs + fornumthree)); |
| | | //OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbt + fornumthree)); |
| | | //OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbx + fornumthree)); |
| | | //OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedbz + fornumthree)); |
| | | ////䏿å£åçç®± |
| | | //OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content); |
| | | //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content); |
| | | |
| | | fornumthree += 400; |
| | | } |
| | |
| | | double agvthreedbFx = 5199.0; |
| | | double agvthreedbFy = 4992.2; |
| | | double agvthreedbFz = 5192.2; |
| | | List<string> FHKFQSBMegthree = new List<string> { "è´æ6å·çç¤æº","è´æ7å·çç¤æº", "è´æ8å·çç¤æº", "è´æ9å·çç¤æº", "è´æ10å·çç¤æº" }; |
| | | List<string> FHKFQSBMegthree = new List<string> { "è´æ7å·çç¤æº"}; |
| | | foreach (var FHKSBthree in FHKFQSBMegthree) |
| | | { |
| | | if (fagvthreeplchk == null) |
| | |
| | | double agvthreedbc = 1696.0; |
| | | double agvthreedbd = 1697.0; |
| | | double agvthreedbe = 1698.0; |
| | | double agvthreedbf = 1794.0; |
| | | double agvthreedbg = 1795.0; |
| | | double agvthreedbf = 1794.0; |
| | | double agvthreedbg = 1795.0; |
| | | double agvthreedbh = 1796.0; |
| | | double agvthreedbi = 1797.0; |
| | | double agvthreedbj = 294.0; |
| | |
| | | |
| | | //åAGVæ»çè½¬å¨ |
| | | OperateResult WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT1 + fornumthree), RHKupGTZ1.Content); |
| | | WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content); |
| | | WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content); |
| | | WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content); |
| | | //WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content); |
| | | //WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content); |
| | | //WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content); |
| | | |
| | | //å
¥æå£è¯»çç®± |
| | | OperateResult<short> RHKupa = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); |
| | |
| | | OperateResult<short> RHKupe = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1951"); |
| | | //å
¥æå£åAGV |
| | | OperateResult Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedba + fornumthree), byte.Parse(RHKupa.Content.ToString())); |
| | | Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString())); |
| | | Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString())); |
| | | Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString())); |
| | | Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString())); |
| | | //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString())); |
| | | //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString())); |
| | | //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString())); |
| | | //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString())); |
| | | //å
¥æå£è¯»agv |
| | | OperateResult<byte> RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbf + fornumthree)); |
| | | OperateResult<byte> RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbg + fornumthree)); |
| | | OperateResult<byte> RAGVc = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbh + fornumthree)); |
| | | OperateResult<byte> RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbf + fornumthree));//3394 |
| | | OperateResult<byte> RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbg + fornumthree));//3395 |
| | | OperateResult<byte> RAGVc = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbh + fornumthree));//3396 1792.2+1600 |
| | | OperateResult<byte> RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbi + fornumthree)); |
| | | OperateResult<bool> RAGVe = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedby + fornumthree)); |
| | | //å
¥æå£åçç®± |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Cannot access destination table 'Sys_Log'. at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table, DataRowState rowState) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table) |
| | | at WIDESEA_Core.Dapper.SqlDapper.MSSqlBulkInsert(DataTable table, String tableName, SqlBulkCopyOptions sqlBulkCopyOptions, String dbKeyName) in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 391 |
| | | at WIDESEA_Core.Dapper.SqlDapper.BulkInsert(DataTable table, String tableName, Nullable`1 sqlBulkCopyOptions, String fileName, String tmpPath) in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 416 |
| | | at WIDESEA_Core.Services.Logger.Start() in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Services\Logger.cs:line 143System.Data.SqlClient |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Cannot access destination table 'Sys_Log'. at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table, DataRowState rowState) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table) |
| | | at WIDESEA_Core.Dapper.SqlDapper.MSSqlBulkInsert(DataTable table, String tableName, SqlBulkCopyOptions sqlBulkCopyOptions, String dbKeyName) in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 391 |
| | | at WIDESEA_Core.Dapper.SqlDapper.BulkInsert(DataTable table, String tableName, Nullable`1 sqlBulkCopyOptions, String fileName, String tmpPath) in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 416 |
| | | at WIDESEA_Core.Services.Logger.Start() in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Services\Logger.cs:line 143System.Data.SqlClient |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Cannot access destination table 'Sys_Log'. at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table, DataRowState rowState) |
| | | at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table) |
| | | at WIDESEA_Core.Dapper.SqlDapper.MSSqlBulkInsert(DataTable table, String tableName, SqlBulkCopyOptions sqlBulkCopyOptions, String dbKeyName) in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 391 |
| | | at WIDESEA_Core.Dapper.SqlDapper.BulkInsert(DataTable table, String tableName, Nullable`1 sqlBulkCopyOptions, String fileName, String tmpPath) in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 416 |
| | | at WIDESEA_Core.Services.Logger.Start() in E:\KHGITHUB\GanFengLiYeNew\代ç 管ç\WIDESEA_WCSServer\WIDESEA_Core\Services\Logger.cs:line 143System.Data.SqlClient |