рдореИрд░реА-301 рдПрдордЯреАрдПрдо рдХрд╛ рдЯреИрдорд┐рдВрдЧ

рдбрд┐рд╡рд╛рдЗрд╕ рдорд╛рд░рд┐рдпрд╛- 301MTM рдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдкрдбрд╝ рдЧрдпрд╛ ... рдпрд╣ рдпреВрдХреНрд░реЗрдиреА рд░рд╛рдЬрдХреЛрд╖реАрдп рд░рдЬрд┐рд╕реНрдЯреНрд░рд╛рд░ рд╣реИ - рдирдХрдж рдкреНрд░рд╛рдкреНрддрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рд┐рдВрдЯрд░ред
рдЫрд╡рд┐

рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЦреБрд▓рд╛ рд╣реИ рдФрд░ рдХреГрдкрдпрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдФрд░ рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ рдкрд╛рдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдиреЗ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрди рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред

рд╕реНрдЯреЙрдХ рдореЗрдВ: COM рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд░рд╛рдиреА рдиреЗрдЯрдмреБрдХред рдореИрдВрдиреЗ рдЬреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓рд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╡рд╣ рдерд╛ рдкреЛрдЯреАрди рдЪрд▓рд╛рдирд╛ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ред рдкрд╕реАрдирд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдорддрд╛: рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐; рд╕реНрдЯреЙрдкрдмрд┐рдЯ: 2; рдЧрддрд┐: 57600 рджреЛ рдЕрдХреНрд╖рд░ "U" рдкрд╛рд╕ рдХрд░реЗрдВ рдФрд░ "READY" рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдмрдВрджрд░рдЧрд╛рд╣ рдЬреАрд╡рд┐рдд рд╣реИред рдкрд┐рдЫрд▓реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдиреЗрдЯрдмреБрдХ рдкрд░ mscomctl.ocx рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдпрд╣ рд╕реЗрдЯ рдореИрд░реА рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдХрдВрд╕реЛрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдкрд░рд┐рд╡рд╣рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓:
1.рдХрдорд╛рдВрдб: <start> <command_oparameters> <рд▓рдВрдмрд╛рдИ> <рдЕрдВрдд>;
2. рдЙрддреНрддрд░: <рдкреНрд░рд╛рд░рдВрдн> <рдЬрд╛рдирдХрд╛рд░реА> <рд▓рдВрдмрд╛рдИ> <рдЕрдВрдд>,
рдЬрд╣рд╛рдБ <start> = chr (253), <рдЕрдВрдд> = chr (254)ред рдХрдорд╛рдВрдб рдХреА рд▓рдВрдмрд╛рдИ 255 рд╡рд░реНрдгреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред


рдкреНрд░рд┐рдВрдЯрд░ "WAIT", "рд╕рдВрдкрдиреНрди", "рдкрдврд╝реЗрдВ" рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдХрдорд╛рдВрдб рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред "рдкрдврд╝реЗрдВ" - рдХрд╛ рдЕрд░реНрде рд╣реИ рдЕрдЧрд▓реА рдЯреАрдо рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреА рддрддреНрдкрд░рддрд╛ред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "" HARDTXD '' рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдХрд╛рд░ рд╕рдорддрд╛ рдХреЗ рдЧрд▓рдд рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ '' SOFTPROTOC "рдПрдХ рдЕрдиреБрдХреНрд░рдо рддреНрд░реБрдЯрд┐ рдХрдорд╛рдВрдб рд╣реИ ...

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдорд╛рд░рд┐рдпрд╛ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП vbscript рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
dim MSComm1 dim txt function fillcmd(txtma) ret = chr(253) & txtma & chr(len(txtma)+1) & chr(254) fillcmd = ret end function function sendCmd(cmdTxt) ret = "" txt.writeline "cmd="+txtcmd MSComm1.Output = fillcmd(txtcmd) WScript.Sleep(100) ret = MSComm1.Input txt.writeline "answ="+ret sendCmd = ret end function function initMaria() txt.writeline "init" MSComm1.Output="U" WScript.Sleep(1) MSComm1.Output="U" WScript.Sleep(20) rez = MSComm1.Input txt.writeline "answ="+rez initMaria = rez end function function initComm() Set MSComm1=CreateObject("MSCOMMLib.MSComm") MSComm1.Settings = "57600,e,8,2" MSComm1.CommPort = 2 MSComm1.InBufferCount = 0 MSComm1.PortOpen = True MSComm1.DTREnable = True set fso = CreateObject("Scripting.FileSystemObject") set txt = fso.CreateTextFile("maria.log") initComm = "Ready" end function sub closePort() MSComm1.DTREnable = False MSComm1.PortOpen = False Set MSComm1 = Nothing txt.close Set txt = Nothing end sub res = initComm() res = initMaria() 'get maria configurarion txtcmd="CONF" res = sendCmd(txtcmd) closePort() 

рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
initComm () - рдПрдХ рдкреЛрд░реНрдЯ рдФрд░ рдПрдХ рд▓реЙрдЧ рдлрд╛рдЗрд▓ рдЦреЛрд▓рддрд╛ рд╣реИ
fillcmd (txtma) - рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдЯреЗрдХреНрд╕реНрдЯ рдХрдорд╛рдВрдб рдХреЛ рдлрд╝реНрд░реЗрдо рдХрд░рддрд╛ рд╣реИ

рдПрдХ рдЪреЗрдХ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛:
 res = initComm() res = initMaria() 'user login txtcmd="UPAS111111111112345" res = sendCmd(txtcmd) 'cancel check txtcmd="CANC" res = sendCmd(txtcmd) 'open check txtcmd="PREP0" res = sendCmd(txtcmd) 'add line txtcmd="FISC"&" "&"000003000"&"000001000"&"00003"&"10"&_ "02000"&"000000"&"000000"&"000000"&"000000"&"000000"&"000000"&"000000"&"0001" '+"&'" "&" "&"" res = sendCmd(txtcmd) 'close check txtcmd="COMP"&"0000003000"&"0000000000"&"0000000000"&"0000000000"&"0000000000"&"0000003000" res = sendCmd(txtcmd) closePort() 


рдпрд╣ рдХреЛрдб 1 рд╕реА, рдПрд╕реАрдИрдПрд╕, рдПрдХреНрд╕реЗрд▓ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ OLE32 рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП nativ-API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреНрд░рд╛рдЗрд╡рд░ рд▓рд┐рдЦрдирд╛ ...

Source: https://habr.com/ru/post/In199066/


All Articles