依码仕喷码机编程指南
生活随笔
收集整理的這篇文章主要介紹了
依码仕喷码机编程指南
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
協議下載地址:https://download.csdn.net/download/horseroll/10766998
無積分付費下載地址:https://download.csdn.net/download/HorseRoll/21113194
1.首先與依碼仕噴碼機通過RS232進行通訊連接
2.準備打印,發送字節05
3.打印機返回字節06,發送E9H指令,new Byte[] { 0xE9, 0x00, 0x01, 0x01, 0xE9 }
4.打印機返回字節06,發送字節05
5.打印機返回字節06,發送D8H指令,new Byte[] { 0xD8, 0x00, 0x00, 0xD8 }
6.打印機返回字節06,發送字節05
7.打印機返回字節06,發送E3H指令,即發送數據,具體方法見下方sendMe()方法
8.打印機返回字節06,說明打印機已經接收到信號,等待打印
8.打印機打印完成,返回字節06,發送字節06
9.打印機返回字節06,發送字節06,發送字節05
10.打印機返回字節06,發送E3H,從步驟7開始循環
注意點:收到打印機返回字節后一定要立馬發送下一步動作的指令,不然會超時,需要重頭來。
SendMe方法(我這邊是打印16位長度的的數字,不同長度字節內容也不一樣,看協議修改)
public void sendMe() {SerialOutput = new Byte[]{227,0,41,192,0,0,0,0,1,0,3,0,3,0,2,0,100,0,0,10,128,1,13,1,16,30,1,30,18,49,50,51,52,53,54,56,48,49,50,51,52,53,54,56,48,18,16,1,13,128,1,13};SerialOutput[2] = 33 + 16;Byte[] strbyte = new Byte[16];int z = 0;strbyte = System.Text.Encoding.Default.GetBytes("0000000000000001");for (int i = 29; i < 45; i++)//16位的字節更換{SerialOutput[i] = strbyte[z];z++;}byte checksum = CheckSum(SerialOutput);Byte[] serial = new Byte[SerialOutput.Length + 1];for (int i = 0; i < serial.Length - 1; i++){serial[i] = SerialOutput[i];}serial[serial.Length - 1] = checksum;comm.WritePort(serial, 0, serial.Length);ToolData.WriteLog(richTextBox1, CameraList[ListNumber] + " 等待打印", 1); }//字節計數 public static byte CheckSum(Byte[] bytes) {byte checksum = 0;foreach (byte b in bytes){checksum ^= b;}return checksum; }也可以把E3H指令換成99H指令
兩者區別:E3H是固定了字體以及速度這些,而99H只是傳輸外部變量,具體的字體大小字型這些全部是在噴碼機上設置
更新外部變量內容 指令99: 99 00 0A 12 31 36 35 31 46 36 32 30 12 E2 指令詳述: i) 99:命令字ii) 00 0A:長度iii) 12 31 36 35 31 46 36 32 30 12 :起始12,末尾12:為格式字節31 36 35 31 46 36 32 30 :噴印內容1651F620iv) E2:校驗碼總結
以上是生活随笔為你收集整理的依码仕喷码机编程指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于更新win10 1903后VM wa
- 下一篇: svn server服务器搭建