-
Word Read/Write 예제업무용 소스 예제 2021. 8. 21. 15:15728x90반응형728x90
Word Read/Write 예제 첨부.
마찬가지로 사용 시 수정 필요함.
public string ReadWord(int idx, string address, int size, out string returnCode) { int retCode = -1; int[] returnDataint = new int[size]; string returnDataString = ""; string addresslog = ""; returnCode = "-1"; try { address = address.Trim().ToUpper(); if (address.StartsWith("ZR")) { addresslog = address.Trim().Substring(0, 2).ToUpper() + address.Trim().Substring(2).ToUpper().PadLeft(5, '0'); } else { addresslog = address.Trim().Substring(0, 1).ToUpper() + address.Trim().Substring(1).ToUpper().PadLeft(4, '0'); } retCode = _MXComm.ReadDeviceBlock(address, size, out returnDataint[0]); returnCode = Convert.ToString(retCode, 16); for (int i = 0; i < size; i++) { returnDataString += Convert.ToString(returnDataint[i], 16).ToUpper().PadLeft(4, '0'); } } catch (Exception ex) { lock (_lockEvent) { _event.Enqueue("Exception" + "," + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + "," + ex.ToString().Replace(",", "-") + ": Address: " + address + " : size: " + size); } } return returnDataString; } public void WriteWord(int idx, string address, string value, out string returnCode) { int size = 0; int retCode = -1; int[] nValue; string addresslog = ""; returnCode = "-1"; try { address = address.Trim().ToUpper(); if (address.StartsWith("ZR")) { addresslog = address.Trim().Substring(0, 2).ToUpper() + address.Trim().Substring(2).ToUpper().PadLeft(5, '0'); } else { addresslog = address.Trim().Substring(0, 1).ToUpper() + address.Trim().Substring(1).ToUpper().PadLeft(4, '0'); } size = value.Trim().Length / 4; nValue = new int[size]; for (int i = 0; i < size; i++) { nValue[i] = Convert.ToInt32(value.Substring(i * 4, 4), 16); } retCode = _MXComm.WriteDeviceBlock(address, size, ref nValue[0]); returnCode = Convert.ToString(retCode, 16); } catch (Exception ex) { lock (_lockEvent) { _event.Enqueue("Exception" + "," + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + "," + ex.ToString().Replace(",", "-") + ": Address: " + address + " : value: " + value); } } }
728x90반응형'업무용 소스 예제' 카테고리의 다른 글
레지스트리 관리기능 클래스 예제 코드 (1) 2021.08.21 이미지 화일명으로 이미지 객체를 안전하게 생성후 리턴 예제 (0) 2021.08.21 avicap32.dll을 이용한 C# 영상 제어 예제 (0) 2021.08.21 Step만큼 Address를 증가 시키는 기능 예제 (0) 2021.08.21 Bit Read/Write 예제 (3) 2021.08.21