Experimental Physics and Industrial Control System
Hi,
we are using "ether_ip-2.24.1" EPICS module and EPICS base 3-14-12-3 for
communicating with
Allen-Bradley ControlLogix and CompactLogix PLC-s from GUIs. We need to
use BOOL array tags in the
PLC code, and we would like to be able to change them from EPICS GUIs.
We tried to use mbboDirect
EPICS record type and we noticed that mbboDirect records set the
corresponding BOOL array tags
to zero every time the Linux IOC is rebooted, which is highly
undesirable. Has anyone else seen such a behavior?
I attached the EPICS DB file, the IOC booting script and the XML project
file for the PLC project.
Any suggestion would be appreciated.
Hovanes Egiyan.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="20.00" TargetName="Development" TargetType="Controller" ContainsContext="false" Owner="halldusers, Thomas Jefferson National Labs" ExportDate="Fri Jul 11 08:14:38 2014" ExportOptions="DecoratedData ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Target" Name="Development" ProcessorType="1756-L62" MajorRev="20" MinorRev="11" TimeSlice="20" ShareUnusedTimeSlice="1" ProjectCreationDate="Tue Jul 08 07:27:16 2014" LastModifiedDate="Fri Jul 11 08:12:01 2014" SFCExecutionControl="CurrentActive" SFCRestartPosition="MostRecent"
SFCLastScan="DontScan" CommPath="CntrLogix_DEVEL\129.57.26.156\Backplane\0" ProjectSN="16#0072_06b4" MatchProjectToController="false" CanUseRPIFromProducer="false" InhibitAutomaticFirmwareUpdate="0">
<RedundancyInfo Enabled="false" KeepTestEditsOnSwitchOver="false" IOMemoryPadPercentage="90" DataTablePadPercentage="50"/>
<Security Code="0" ChangesToDetect="16#ffff_ffff_ffff_ffff"/>
<SafetyInfo/>
<DataTypes/>
<Modules>
<Module Name="Local" CatalogNumber="1756-L62" Vendor="1" ProductType="14" ProductCode="55" Major="20" Minor="11" ParentModule="Local" ParentModPortId="1" Inhibited="false" MajorFault="true"
>
<EKey State="ExactMatch"/>
<Ports>
<Port Id="1" Address="0" Type="ICP" Upstream="false">
<Bus Size="10"/>
</Port>
</Ports>
</Module>
<Module Name="EN2T5" CatalogNumber="1756-EN2T" Vendor="1" ProductType="12" ProductCode="166" Major="5" Minor="7" ParentModule="Local" ParentModPortId="1" Inhibited="false" MajorFault="false"
>
<EKey State="CompatibleModule"/>
<Ports>
<Port Id="1" Address="9" Type="ICP" Upstream="true"/>
<Port Id="2" Address="129.57.26.156" Type="Ethernet" Upstream="false">
<Bus/>
</Port>
</Ports>
<Communications CommMethod="536870914">
<Connections/>
</Communications>
<ExtendedProperties>
<public><ConfigID>4325481</ConfigID></public></ExtendedProperties>
</Module>
</Modules>
<AddOnInstructionDefinitions/>
<Tags/>
<Programs>
<Program Name="MainProgram" TestEdits="false" MainRoutineName="tag_test" Disabled="false">
<Tags>
<Tag Name="RTD_Active" TagType="Base" DataType="BOOL" Dimensions="64" Radix="Decimal" Constant="false" ExternalAccess="Read/Write">
<Data>FC FF FF FF FF FF 01 00</Data>
<Data Format="Decorated">
<Array DataType="BOOL" Dimensions="64" Radix="Decimal">
<Element Index="[0]" Value="0"/>
<Element Index="[1]" Value="0"/>
<Element Index="[2]" Value="1"/>
<Element Index="[3]" Value="1"/>
<Element Index="[4]" Value="1"/>
<Element Index="[5]" Value="1"/>
<Element Index="[6]" Value="1"/>
<Element Index="[7]" Value="1"/>
<Element Index="[8]" Value="1"/>
<Element Index="[9]" Value="1"/>
<Element Index="[10]" Value="1"/>
<Element Index="[11]" Value="1"/>
<Element Index="[12]" Value="1"/>
<Element Index="[13]" Value="1"/>
<Element Index="[14]" Value="1"/>
<Element Index="[15]" Value="1"/>
<Element Index="[16]" Value="1"/>
<Element Index="[17]" Value="1"/>
<Element Index="[18]" Value="1"/>
<Element Index="[19]" Value="1"/>
<Element Index="[20]" Value="1"/>
<Element Index="[21]" Value="1"/>
<Element Index="[22]" Value="1"/>
<Element Index="[23]" Value="1"/>
<Element Index="[24]" Value="1"/>
<Element Index="[25]" Value="1"/>
<Element Index="[26]" Value="1"/>
<Element Index="[27]" Value="1"/>
<Element Index="[28]" Value="1"/>
<Element Index="[29]" Value="1"/>
<Element Index="[30]" Value="1"/>
<Element Index="[31]" Value="1"/>
<Element Index="[32]" Value="1"/>
<Element Index="[33]" Value="1"/>
<Element Index="[34]" Value="1"/>
<Element Index="[35]" Value="1"/>
<Element Index="[36]" Value="1"/>
<Element Index="[37]" Value="1"/>
<Element Index="[38]" Value="1"/>
<Element Index="[39]" Value="1"/>
<Element Index="[40]" Value="1"/>
<Element Index="[41]" Value="1"/>
<Element Index="[42]" Value="1"/>
<Element Index="[43]" Value="1"/>
<Element Index="[44]" Value="1"/>
<Element Index="[45]" Value="1"/>
<Element Index="[46]" Value="1"/>
<Element Index="[47]" Value="1"/>
<Element Index="[48]" Value="1"/>
<Element Index="[49]" Value="0"/>
<Element Index="[50]" Value="0"/>
<Element Index="[51]" Value="0"/>
<Element Index="[52]" Value="0"/>
<Element Index="[53]" Value="0"/>
<Element Index="[54]" Value="0"/>
<Element Index="[55]" Value="0"/>
<Element Index="[56]" Value="0"/>
<Element Index="[57]" Value="0"/>
<Element Index="[58]" Value="0"/>
<Element Index="[59]" Value="0"/>
<Element Index="[60]" Value="0"/>
<Element Index="[61]" Value="0"/>
<Element Index="[62]" Value="0"/>
<Element Index="[63]" Value="0"/>
</Array>
</Data>
</Tag>
</Tags>
<Routines>
<Routine Name="tag_test" Type="FBD">
<FBDContent SheetSize="Letter - 8.5 x 11 in" SheetOrientation="Landscape">
<Sheet Number="1"/>
</FBDContent>
</Routine>
</Routines>
</Program>
</Programs>
<Tasks>
<Task Name="MainTask" Type="CONTINUOUS" Priority="10" Watchdog="500" DisableUpdateOutputs="false" InhibitTask="false">
<ScheduledPrograms>
<ScheduledProgram Name="MainProgram"/>
</ScheduledPrograms>
</Task>
</Tasks>
<CommPorts>
<SerialPort Channel="0" BaudRate="19200" Parity="No Parity" DataBits="8 Bits of Data" StopBits="1 Stop Bit" ComDriverId="DF1" RTSOffDelay="0" RTSSendDelay="0" ControlLine="No Handshake" RemoteModeChangeFlag="false" ModeChangeAttentionChar="27"
SystemModeCharacter="83" UserModeCharacter="85" DCDWaitDelay="0">
<ASCII XONXOFFEnable="false" DeleteMode="0" EchoMode="0" TerminationChars="65293" AppendChars="2573" BufferSize="82"/>
<DF1 DuplicateDetection="true" ErrorDetection="BCC Error" EmbeddedResponseEnable="Autodetect" DF1Mode="Pt to Pt" ACKTimeout="50" NAKReceiveLimit="3" ENQTransmitLimit="3" TransmitRetries="3" StationAddress="0" ReplyMessageWait="5" PollingMode="Message Based (slave can initiate messages)"
MasterMessageTransmit="Between station polls" NormalPollNodeFile="<NA>" NormalPollGroupSize="0" PriorityPollNodeFile="<NA>" ActiveStationFile="<NA>" SlavePollTimeout="3000" EOTSuppression="0" MaxStationAddress="31" TokenHoldFactor="1" EnableStoreFwd="false" StoreFwdFile="<NA>"
/>
</SerialPort>
</CommPorts>
<CST MasterID="0"/>
<WallClockTime LocalTimeAdjustment="0" TimeZone="0"/>
<Trends/>
<TimeSynchronize Priority1="128" Priority2="128" PTPEnable="false"/>
</Controller>
</RSLogix5000Content>
This attachment was removed by JLAB's Watch Guard XCS at host
wgmx2.jlab.org.
# record for PLC tag <Program:MainProgram.RTD_Active> of type <BOOL>
record( mbboDirect, "testTag" )
{
field(DTYP, "EtherIP" )
field(SCAN, "Passive" )
field(NOBT, "16" )
field(PINI, "NO")
field(OUT, "@$(PLCID) Program:MainProgram.RTD_Active[0] S 1" )
}
- Navigate by Date:
- Prev:
Re: New standards for small and medium sized astronomical observatories Jitendra Kodilkar
- Next:
Potentiostat Adam Bark
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
EPICS Codeathon, August 2014 Andrew Johnson
- Next:
Re: mbboDirect with ether_ip Kasemir, Kay
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024