Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating upper limit of M1K2 pitch #145

Merged
merged 2 commits into from
Feb 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lcls-plc-rixs-optics/_Config/NC/Axes/M1K2-Pitch.xti
Original file line number Diff line number Diff line change
Expand Up @@ -1328,7 +1328,7 @@ External Setpoint Generation:
<EncPara ScaleFactorNumerator="0.00256" Offset="-25648.08" MaxCount="#xffffffff">
<FilterTime TPos="0.05"/>
<SoftEndMinControl Enable="true" Range="-350"/>
<SoftEndMaxControl Enable="true" Range="-25"/>
<SoftEndMaxControl Enable="true"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to check on this, I think 0 might actually mean no max. To alleviate any ambiguity, I'd use -0.001. Or test this, have we tried moving to 0.02 with max set to 0?

Copy link
Contributor

@nrwslac nrwslac Jan 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NSLentz Happen to know the answer to this? I didn't see this called out in the documentation, but I believe setting the Limit Switch to 0 disables it. As seen above, the range parameter was removed.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nrwslac
No, setting the limit switch to zero just applies a limit at position 0. The Enable="true" would be missing if it was disabled. See below example.

FALSE Looks like:
image
image

TRUE Looks like:
image
image

Back to FALSE, but with setting value to 5:
image

Back to TRUE, keeping value at 5:
image

Back to value of 0, but keeping it TRUE:
image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for taking a look. Also, Epics limits behavior seems improved. It wont let me exceed max PLC limit pos which is nice.

<ActPosCorrection Time="0.008"/>
<Inc RefSoftSyncMask="#x0000ffff"/>
</EncPara>
Expand Down
2 changes: 1 addition & 1 deletion lcls-plc-rixs-optics/_Config/PLC/rixs_optics.xti
Original file line number Diff line number Diff line change
Expand Up @@ -1349,7 +1349,7 @@ External Setpoint Generation:
</DataType>
</DataTypes>
<Project GUID="{85BF455D-934D-415A-B04C-6D4CDD9FF10E}" Name="rixs_optics" PrjFilePath="..\..\rixs_optics\rixs_optics.plcproj" TmcFilePath="..\..\rixs_optics\rixs_optics.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" SymbolicMapping="true">
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="rixs_optics\rixs_optics.tmc" TmcHash="{39BCFEA4-C448-988B-AAF7-62B98EA921D7}">
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="rixs_optics\rixs_optics.tmc" TmcHash="{D2935A53-08DE-787D-F1C5-6E7936FE5C67}">
<Name>rixs_optics Instance</Name>
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
<Vars VarGrpType="1">
Expand Down
120 changes: 60 additions & 60 deletions lcls-plc-rixs-optics/rixs_optics/rixs_optics.tmc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<TcModuleClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2009/05/TcModuleClass" Hash="{39BCFEA4-C448-988B-AAF7-62B98EA921D7}" GeneratedBy="TwinCAT XAE Plc">
<TcModuleClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2009/05/TcModuleClass" Hash="{D2935A53-08DE-787D-F1C5-6E7936FE5C67}" GeneratedBy="TwinCAT XAE Plc">
<DataTypes>
<DataType>
<Name Namespace="Tc2_SerialCom">ComSerialLineMode_t</Name>
Expand Down Expand Up @@ -82439,7 +82439,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Comment>PI Serial</Comment>
<BitSize>112640</BitSize>
<BaseType Namespace="lcls_twincat_optics">FB_PI_E621_SerialDriver</BaseType>
<BitOffs>1265797632</BitOffs>
<BitOffs>1265016832</BitOffs>
</Symbol>
<Symbol>
<Name>GVL_M1K2.M1K2_Pitch</Name>
Expand Down Expand Up @@ -82546,7 +82546,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Value>Input</Value>
</Property>
</Properties>
<BitOffs>1265017536</BitOffs>
<BitOffs>1265133632</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.iLatchNeg</Name>
Expand All @@ -82562,7 +82562,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Value>Input</Value>
</Property>
</Properties>
<BitOffs>1265017600</BitOffs>
<BitOffs>1265133696</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nEncoderCount</Name>
Expand All @@ -82578,7 +82578,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Value>Input</Value>
</Property>
</Properties>
<BitOffs>1265017664</BitOffs>
<BitOffs>1265133760</BitOffs>
</Symbol>
</DataArea>
<DataArea>
Expand Down Expand Up @@ -82729,7 +82729,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Default>
<String>172.21.140.21</String>
</Default>
<BitOffs>1265017728</BitOffs>
<BitOffs>1265133824</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.bUseHWTriggers</Name>
Expand All @@ -82738,7 +82738,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Default>
<Bool>true</Bool>
</Default>
<BitOffs>1265018376</BitOffs>
<BitOffs>1265134472</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.bUseSWTriggers</Name>
Expand All @@ -82747,14 +82747,14 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Default>
<Bool>false</Bool>
</Default>
<BitOffs>1265018384</BitOffs>
<BitOffs>1265134480</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.bNewTrigger</Name>
<Comment> Internals</Comment>
<BitSize>8</BitSize>
<BaseType>BOOL</BaseType>
<BitOffs>1265018392</BitOffs>
<BitOffs>1265134488</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.tSWTriggerDelay</Name>
Expand All @@ -82763,20 +82763,20 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Default>
<DateTime>T#8ms</DateTime>
</Default>
<BitOffs>1265018400</BitOffs>
<BitOffs>1265134496</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.iTimeSincePos</Name>
<Comment> Outputs</Comment>
<BitSize>64</BitSize>
<BaseType>ULINT</BaseType>
<BitOffs>1265018432</BitOffs>
<BitOffs>1265134528</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.iMaxTime</Name>
<BitSize>64</BitSize>
<BaseType>ULINT</BaseType>
<BitOffs>1265018496</BitOffs>
<BitOffs>1265134592</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.iMinTime</Name>
Expand All @@ -82785,19 +82785,19 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Default>
<Value>10000000000</Value>
</Default>
<BitOffs>1265018560</BitOffs>
<BitOffs>1265134656</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fTimeInS</Name>
<BitSize>64</BitSize>
<BaseType>LREAL</BaseType>
<BitOffs>1265018624</BitOffs>
<BitOffs>1265134720</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.iTriggerWidth</Name>
<BitSize>64</BitSize>
<BaseType>ULINT</BaseType>
<BitOffs>1265018688</BitOffs>
<BitOffs>1265134784</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fTriggerRate</Name>
Expand All @@ -82812,25 +82812,25 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
</Value>
</Property>
</Properties>
<BitOffs>1265018752</BitOffs>
<BitOffs>1265134848</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.tonSWTrigger</Name>
<BitSize>256</BitSize>
<BaseType Namespace="Tc2_Standard">TON</BaseType>
<BitOffs>1265018816</BitOffs>
<BitOffs>1265134912</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.iPrevLatchPos</Name>
<BitSize>64</BitSize>
<BaseType>ULINT</BaseType>
<BitOffs>1265019072</BitOffs>
<BitOffs>1265135168</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fMaxTimeInS</Name>
<BitSize>64</BitSize>
<BaseType>LREAL</BaseType>
<BitOffs>1265019136</BitOffs>
<BitOffs>1265135232</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fMinTimeInS</Name>
Expand All @@ -82839,19 +82839,19 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Default>
<Value>10000000</Value>
</Default>
<BitOffs>1265019200</BitOffs>
<BitOffs>1265135296</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.iTimeSinceLast</Name>
<BitSize>64</BitSize>
<BaseType>ULINT</BaseType>
<BitOffs>1265019264</BitOffs>
<BitOffs>1265135360</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nUpdateCycles</Name>
<BitSize>64</BitSize>
<BaseType>ULINT</BaseType>
<BitOffs>1265019328</BitOffs>
<BitOffs>1265135424</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nFrameCount</Name>
Expand All @@ -82866,67 +82866,67 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
</Value>
</Property>
</Properties>
<BitOffs>1265019392</BitOffs>
<BitOffs>1265135488</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.stTaskInfo</Name>
<BitSize>1024</BitSize>
<BaseType GUID="{56294066-FFF7-46F3-8206-FA06A30B13BA}">PlcTaskSystemInfo</BaseType>
<BitOffs>1265019456</BitOffs>
<BitOffs>1265135552</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.iUnderflowCount</Name>
<BitSize>64</BitSize>
<BaseType>ULINT</BaseType>
<BitOffs>1265020480</BitOffs>
<BitOffs>1265136576</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fUnderflowPercent</Name>
<BitSize>64</BitSize>
<BaseType>LREAL</BaseType>
<BitOffs>1265020544</BitOffs>
<BitOffs>1265136640</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fEncScale</Name>
<BitSize>64</BitSize>
<BaseType>LREAL</BaseType>
<BitOffs>1265020608</BitOffs>
<BitOffs>1265136704</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fEncScaleDenominator</Name>
<BitSize>64</BitSize>
<BaseType>LREAL</BaseType>
<BitOffs>1265020672</BitOffs>
<BitOffs>1265136768</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fbSocketHandler</Name>
<BitSize>110592</BitSize>
<BaseType>FB_UDPSocketHandler</BaseType>
<BitOffs>1265020736</BitOffs>
<BitOffs>1265136832</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fbSocketSend</Name>
<BitSize>275200</BitSize>
<BaseType>FB_BufferedSocketSend</BaseType>
<BitOffs>1265131328</BitOffs>
<BitOffs>1265247424</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fbSocketHandlerTest</Name>
<BitSize>110592</BitSize>
<BaseType>FB_UDPSocketHandler</BaseType>
<BitOffs>1265406528</BitOffs>
<BitOffs>1265522624</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fbSocketSendTest</Name>
<BitSize>275200</BitSize>
<BaseType>FB_BufferedSocketSend</BaseType>
<BitOffs>1265517120</BitOffs>
<BitOffs>1265633216</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.payload</Name>
<BitSize>512</BitSize>
<BaseType>DUT_01_Channel_NW</BaseType>
<BitOffs>1265792320</BitOffs>
<BitOffs>1265908416</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fbHeader</Name>
Expand All @@ -82938,7 +82938,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<String>plc-tst-proto6</String>
</SubItem>
</Default>
<BitOffs>1265792832</BitOffs>
<BitOffs>1265908928</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fbChannel</Name>
Expand All @@ -82950,14 +82950,14 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
<Value>1</Value>
</SubItem>
</Default>
<BitOffs>1265793408</BitOffs>
<BitOffs>1265909504</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fbGetTaskIndex</Name>
<Comment> Function blocks</Comment>
<BitSize>256</BitSize>
<BaseType Namespace="Tc2_System">GETCURTASKINDEX</BaseType>
<BitOffs>1265794240</BitOffs>
<BitOffs>1265910336</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fEpicsEncCount</Name>
Expand All @@ -82973,7 +82973,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
</Value>
</Property>
</Properties>
<BitOffs>1265794496</BitOffs>
<BitOffs>1265910592</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.fEpicsTrigWidth</Name>
Expand All @@ -82988,7 +82988,7 @@ The BPTM will throw an error if the arbiter does not have enough space for the t
</Value>
</Property>
</Properties>
<BitOffs>1265794528</BitOffs>
<BitOffs>1265910624</BitOffs>
</Symbol>
<Symbol>
<Name>TwinCAT_SystemInfoVarList._TaskInfo</Name>
Expand Down Expand Up @@ -101679,30 +101679,11 @@ Emergency Stop for MR1K1</Comment>
</Properties>
<BitOffs>1264978656</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nBusyCycles</Name>
<Comment> Temp testing</Comment>
<BitSize>16</BitSize>
<BaseType>UINT</BaseType>
<BitOffs>1265019408</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nMaxBusyCycles</Name>
<BitSize>16</BitSize>
<BaseType>UINT</BaseType>
<BitOffs>1265019424</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nDroppedFrames</Name>
<BitSize>16</BitSize>
<BaseType>UINT</BaseType>
<BitOffs>1265019440</BitOffs>
</Symbol>
<Symbol>
<Name>PiezoSerial.rtInitParams_M1K2</Name>
<BitSize>128</BitSize>
<BaseType Namespace="Tc2_Standard">R_TRIG</BaseType>
<BitOffs>1265910272</BitOffs>
<BitOffs>1265129472</BitOffs>
</Symbol>
<Symbol>
<Name>PiezoSerial.tonTimeoutRst_M1K2</Name>
Expand All @@ -101715,7 +101696,26 @@ Emergency Stop for MR1K1</Comment>
<DateTime>T#2S</DateTime>
</SubItem>
</Default>
<BitOffs>1265910400</BitOffs>
<BitOffs>1265129600</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nBusyCycles</Name>
<Comment> Temp testing</Comment>
<BitSize>16</BitSize>
<BaseType>UINT</BaseType>
<BitOffs>1265135504</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nMaxBusyCycles</Name>
<BitSize>16</BitSize>
<BaseType>UINT</BaseType>
<BitOffs>1265135520</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_DAQ_ENCODER.nDroppedFrames</Name>
<BitSize>16</BitSize>
<BaseType>UINT</BaseType>
<BitOffs>1265135536</BitOffs>
</Symbol>
<Symbol>
<Name>PRG_1_PlcTask.fbLogHandler</Name>
Expand Down Expand Up @@ -108834,7 +108834,7 @@ M4K2 KBV X ENC CNT</Comment>
</Property>
<Property>
<Name>ChangeDate</Name>
<Value>2025-01-24T17:46:51</Value>
<Value>2025-01-30T09:44:03</Value>
</Property>
<Property>
<Name>GeneratedCodeSize</Name>
Expand Down