Hi Marco,
Your EquipmentInclude.dbd file appears to be including both modbus.dbd and modbusSupport.dbd. You should only include modbusSupport.dbd, remove modbus.dbd.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Marco A. Barra Montevechi Filho via Tech-talk
Sent: Saturday, March 26, 2022 9:25 AM
To: tech-talk at aps.anl.gov
Subject: Modbus module duplicating definitions
Hello!
Im compiling an old IOC which uses modbus-R2-11, asyn-R4-33 and base R3.15.6 to talk to an equipment. The old IOC version didnt have a EquipmentInclude.dbd file in src, so i tried adding it.
Compiling the IOC will result, with or without the Include file, in:
perl -CSD /usr/local/epics-nfs/base/R3.15.6/bin/linux-x86_64/dbdExpand.pl -I. -I.. -I../O.Common -I../../../dbd -I/usr/local/epics-nfs/base/R3.15.6/dbd -I/usr/local/epics-nfs/modules/R3.15.6/synApps/R6.0/support/asyn-R4-33//dbd -I/usr/local/epics-nfs/modules/R3.15.6/synApps/R6.0/support/stream-R2-7-7c//dbd
-I/usr/local/epics-nfs/modules/R3.15.6/synApps/R6.0/support/modbus-R2-11/dbd -o Eurotherm.dbd base.dbd stream.dbd drvAsynSerialPort.dbd modbus.dbd modbusSupport.dbd
dbdExpand.pl: Duplicate definition of record type 'mbboDirect'
Context: recordtype(mbboDirect) in file '/usr/local/epics-nfs/modules/R3.15.6/synApps/R6.0/support/modbus-R2-11/dbd/modbus.dbd'
while reading 'modbus.dbd' to create 'Eurotherm.dbd'
dbdExpand.pl: Exiting due to errors
Then if i create the include file and add
include "base.dbd"
include "drvAsynIPPort.dbd"
include "drvAsynSerialPort.dbd"
include "modbusSupport.dbd"
it will generate the same error. Removing only the lines about modbus from the Include file lets the IOC compile, but starting the st.cmd file will return me things like:
st.cmd line 34: Command modbusInterposeConfig not found
st.cmd line 47: Command drvModbusAsynConfigure not found.
Etc. So i figure if i want to use the module i need to find the duplicate definition and remove it? Does anyone have any suggestions or tips?
Thanks in advance and good morning,
Marco
Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente
antes de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente.
Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before
copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately.