命令行: ******************************************************************************************** ******* 发送PLU **************** ******************************************************************************************** digicon -P -s <秤ip> -m plu_template.json -i plu_import.csv 秤ip: 可以有多个ip,用逗号分隔,例如: 1.2.3.4:sm110,5.6.7.8 在ip后有:sm110,则针对sm100/sm110系列下发,否则按照sm120系列下发。 csv列说明: 说明 举例 ----------------------------------------------------------- 1. PLU编号 1 2. 项目代码编号 10001 3. 品名第一行 苹果 4. 品名第二行 Apple 5. 品名第三行 La Mela 6. 品名第四行 De appel 7. 单价(元) 12.00 8. 称重标志(0:计重/1:计件) 0 9. 条码头标识(EANFlags)F1F2 23 10. 条码格式编号(请参考相应手册) 5 11. 保质期(天),空着就不打印 3 12. 销售日期(天),空着就不打印 2 13. 包装日期(天),空着就不打印 1 14. 标签格式(17开始) 17 15. 主组号 181 16. 特殊信息第一行 产地:上海 17. 特殊信息第二行 等级:优1 18. 特殊信息第三行 等级:优2 19. 特殊信息第四行 等级:优3 20. 特殊信息第五行 等级:优4 21. 成份第一行 无添加剂0 22. 成份第二行 放心食用1 23. 成份第三行 放心食用2 24. 成份第四行 放心食用3 25. 成份第五行 放心食用4 26. 二维码内容 http://www.baidu.com 27. 追溯码开关 0或1 28. 追溯码内容 1234567890 29. 允许改价 0:不允许,1:允许(SPEC178需要设置成1) ******************************************************************************************** ******* 发送预置键 **************** ******************************************************************************************** digicon -K -s <秤ip> -m kas_template.json -i kas_import.csv csv列说明: 1. PLU编号 2. 预置键编号(键盘上的编号) 3. 预置键页号 ******************************************************************************************** ******* 发送密码 **************** ******************************************************************************************** digicon -A -s <秤ip> -m pass_template.json -i pass.csv ******************************************************************************************** ******* 同步时间 **************** ******************************************************************************************** digicon -M -s <秤ip> -m dat_template.json -i dat_import.csv ******************************************************************************************** ******* 检测连接 **************** ******************************************************************************************** digicon -s <秤ip> --check_connection 成功或失败会体现在digicon_succeeded_scale.log和digicon_failed_scale.log中 ******************************************************************************************** ******* 清除主档 **************** ******************************************************************************************** digicon -s <秤ip> -d <主档名> 主档名列表: Plu: 商品 Mgp: 主组 Dep: 部门 Kas: 预置键 Trg: 追溯码 Trb: 追溯二维码 Trt: 追溯文本 Tbt: 2D Barcode Prf: 标签格式(头) Pff: 标签格式(明细) Flb: 自定义条码 Mub: 多样条码(Code128,QR...) Spm: 特殊信息 Ing: 成份 Tex: 文本 成功或失败会体现在digicon_succeeded_scale.log和digicon_failed_scale.log中 ******************************************************************************************** ******* 编码 **************** ******************************************************************************************** encode.txt中是导入csv时使用的编码,简体中文请用GBK,繁体请用Big5,等等 ******************************************************************************************** ******************************************************************************************** ******* 查看版本 **************** ******************************************************************************************** digicon -v会显示程序版本,如 version: 3.9 ******************************************************************************************** ******* 关于进程退出码 **************** ******************************************************************************************** 以下是如何取得进程的退出码示例(Delphi) -------------------------------------------------------------------------------- procedure TForm1.btn2Click(Sender: TObject); var SEInfo: TShellExecuteInfo; ExitCode: DWORD; ExecuteFile, ParamString, StartInString: string; str: string; ip_str: string; begin //digicon的路径地址 ExecuteFile:=edt_exe_file.Text; FillChar(SEInfo, SizeOf(SEInfo), 0); SEInfo.cbSize := SizeOf(TShellExecuteInfo); //mmo_iplist是所有秤IP列表,内容如: //1.2.3.4:sm110 //5.6.7.8:sm110 //... for ip_str in mmo_iplist.Lines do begin with SEInfo do begin //edt_csv_file是csv的导入路径 //edt_json_file是导入模板文件 str := '-P -i ' + edt_csv_file.Text + ' -m ' + edt_json_file.Text + ' -s ' + ip_str; fMask := SEE_MASK_NOCLOSEPROCESS; Wnd := Application.Handle; lpFile := PChar(ExecuteFile); lpParameters := pchar(str); nShow := SW_SHOWNORMAL; end; if ShellExecuteEx(@SEInfo) then begin //等待进程结束并取得进程的退出码ExitCode repeat Application.ProcessMessages; GetExitCodeProcess(SEInfo.hProcess, ExitCode); Sleep(20); until (ExitCode <> STILL_ACTIVE) or Application.Terminated; //显示进程退出码ExitCode ShowMessage(ip_str + ' Result: ' + IntToStr(ExitCode)); //进程退出码不为零就可以认为是下发失败,等于零就是下发成功。 if ExitCode <> 0 then showmessage('error on ' + ip_str); end; end; end; -------------------------------------------------------------------------------- 进程退出码不为零就可以认为是下发失败,等于零就是下发成功。 如果下发多台秤(用逗号分隔),则所有秤成功时退出码才为零。 ******************************************************************************************** ******* 日志文件信息 **************** ******************************************************************************************** 九. 程序也会在当前路径下生成日志文件查看是否发送成功。 digicon_detail.log => 日志记录详细内容 digicon_result.log => 日志记录每次下发时每台秤的结果是否成功 digicon_failed_scale.log => 失败的秤列表,一行一个 (>=v2.8) digicon_succeeded_scale.log => 成功的秤列表,一行一个 (>=v3.4) ******************************************************************************************** ******* 时间同步功能 **************** ******************************************************************************************** 十.(版本>=v4.4) digicon -s --syncdate 同步当前系统时间到秤