Experimental Physics and
| ||||||||||||||||||||||||||||||||||||||||||
|
Hello Mark, It works well. Thank you so much. Your help makes me understand more about this module. Best reguards, Kevin ------------------ 原始邮件 ------------------ 发件人: "Mark Rivers" <rivers at cars.uchicago.edu>; 发送时间: 2023年7月11日(星期二) 晚上11:48 收件人: "Amber"<279762081 at qq.com>;"tech-talk"<tech-talk at aps.anl.gov>; 主题: RE: A question on modbus Hi Kevin,
That is a standard Modbus command. It uses function code 5 (write single coil) using data="" to address=0. The value 0xff00 is what the Modbus standard requires to be written to a single coil for the bit value 1. You need to create another driver with this command: drvModbusAsynConfigure("V1","Init", 1,5,0,1,0,0, "Init") You can create a template file called modbusInit.template in the same directory with your startup script. record(bo,"$(P)$(R)") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask($(PORT) 0 0x1)") field(VAL, “1”) field(PINI, “YES”) } That record will process during iocInit (because PINI=YES). It will write the value 0xff00 to address 0 using function code 5. Load that file in your startup script with the command dbLoadRecords(modbusInit.template”, “P=power:,R=init,PORT=V1”) Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of
Amber via Tech-talk Hello everyone, I am using a device with Modbus-RTU protocol. The communication data is transmitted in hexadecimal words. I want to use the modbus module in epics to solve this problelm. When reading device data, the follwing sentence is used in the .cmd file: drvModbusAsynConfigure("V1","Power", 1,3,0,1,0,1000, "Power") and in the substitution file: file "../../db/ai.template" { pattern {P, R, PORT, OFFSET, BITS, EGUL, EGUF, PREC, SCAN} {power:, V_read, V1, 0, 16, 0., 655.35, 2, "I/O Intr"} } There is another command to open the device, which should write " \x01 \x05 \x00 \x00 \xFF \x00 \x8C \x3A" to the device.
After reading all the examples I still don't know how to send this command with modbus module correctly. I think I didn't understand them clearly. Would you like to give me some advice? Is it suitable
to use modbus module? How to realize it? Thank you very much. with my best wishes, Kevin
| |||||||||||||||||||||||||||||||||||||||||
ANJ, 13 Jul 2023 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |