Change E-Stop so that it can also work with one string

- Also optimized CV charging
This commit is contained in:
Matthias Heisig
2025-10-07 16:23:37 +02:00
parent 8ea7fd74e2
commit eaaa2371e8
16 changed files with 689 additions and 346 deletions

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<safetyApplication Crc="3572667986" xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" dslVersion="1.5.0.0" Id="b38a6b49-94be-48df-a0af-960770d67d03" name="" mapState="false" mapDiag="false" groupOrderId="2" passificationAllowed="false" temporaryDeactivationAllowed="true" permamentDeactivationAllowed="true" xmlid="0" analogFBOutputReplacementValues="Zero" verifyAnalogFBInputsIfStart="false" userFbId="00000000-0000-0000-0000-000000000000" xmlns="http://schemas.microsoft.com/dsltools/SafetyApplicationLanguage">
<safetyApplication Crc="3516787539" xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" dslVersion="1.5.0.0" Id="b38a6b49-94be-48df-a0af-960770d67d03" name="" mapState="false" mapDiag="false" groupOrderId="1" passificationAllowed="false" temporaryDeactivationAllowed="true" permamentDeactivationAllowed="true" xmlid="0" analogFBOutputReplacementValues="Zero" verifyAnalogFBInputsIfStart="false" userFbId="00000000-0000-0000-0000-000000000000" xmlns="http://schemas.microsoft.com/dsltools/SafetyApplicationLanguage">
<networks>
<safetyApplicationHasNetworks Id="dbcce1ba-bd17-4226-9b14-71a6ff95c8ef">
<Network Id="2d5ced6d-d23e-412b-9ab1-5f27590a2bf1" name="Network1" networkName="Network1" intId="1" networkOrderId="0">
@@ -69,6 +69,85 @@
</functionBlocks>
</Network>
</safetyApplicationHasNetworks>
<safetyApplicationHasNetworks Id="88a6c5ed-e30f-488a-943a-67725ba04ccc">
<Network Id="500d2901-0227-4969-b0ac-284772103c07" name="Network2" networkName="Network2" intId="2" networkOrderId="1">
<functionBlocks>
<networkHasFunctionBlocks Id="6949ce0f-a3a0-4e83-a0a2-3ab107d1dd60">
<fBEstop Id="8321d8e5-7c8a-41a8-bc4f-86872b0c6b68" name="FBEstop1" instanceName="FBEstop1" orderOfExecution="2" mapState="false" mapDiag="false" functionName="safeEstop" safeInputsAfterDiscError="true">
<inPorts>
<functioBlockHasInPorts Id="2ecad519-8869-48e4-ace9-a2f50866e8d0">
<inPort Id="336968a3-e5f5-4dd8-a188-11d2e30ce80e" name="Restart" portName="Restart" portNum="2" objectIndex="0" varId="1" filter="3" portDataType="1" maxDeviation="0" resetTime="0">
<fbPortGlobalVariableReferences>
<functionBlockPortHasFbPortGlobalVariableReferences Id="d73ec5f3-3aaf-4909-91b1-4561960239f1">
<fbPortGlobalVariableReference Id="2ba6b8b4-8bdf-4135-94e5-90700fc70c22" variableId="3b4f283a-d376-4bbc-8717-cb4b3d88342e" lastKnownPath="GVL1.xNotHaltRestart" />
</functionBlockPortHasFbPortGlobalVariableReferences>
</fbPortGlobalVariableReferences>
</inPort>
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="b0512264-b034-4015-aa71-873273c29565">
<inPort Id="d018e3cb-627e-46fa-b7e5-f6dd4019154d" name="EStopIn1" portName="EStopIn1" portNum="4" objectIndex="8" varId="3" filter="2" portDataType="1" channelInterface="Two-Channel" discrepancyTime="100" deactivate1="Break Contact (NC)" deactivate2="Break Contact (NC)" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="f4c9b07d-c294-4d36-b229-153d0cad0d85">
<inPort Id="3f4566bb-d917-4dac-aa5b-b5313d7631a0" name="EStopIn2" portName="EStopIn2" portNum="5" objectIndex="9" varId="4" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="eea3bcdc-869c-4475-ad6a-98c223fb4138">
<inPort Id="f34234ad-aeeb-4e00-8560-3bf7a1de3ddb" name="EStopIn3" portName="EStopIn3" portNum="6" objectIndex="10" varId="5" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="6780c148-fa0b-470c-b585-dfdd7bb68892">
<inPort Id="dd0a081a-8ad2-491b-ba2f-52de75f231f5" name="EStopIn4" portName="EStopIn4" portNum="7" objectIndex="11" varId="6" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="fc8f0744-21c8-4efe-af62-69117a4a9b27">
<inPort Id="6af3a5de-833b-4ea1-87aa-6716606e4e5b" name="EStopIn5" portName="EStopIn5" portNum="8" objectIndex="12" varId="7" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="e375df63-17e1-44c0-8945-bc682d3619ca">
<inPort Id="e3b63bcd-eb20-4880-905c-d44a1b44b26e" name="EStopIn6" portName="EStopIn6" portNum="9" objectIndex="13" varId="8" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="f9078449-10e4-4047-ab75-6ecd0c60db9d">
<inPort Id="668f16c3-e1fe-4bbd-b905-c5f03ce307e9" name="EStopIn7" portName="EStopIn7" portNum="10" objectIndex="14" varId="9" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="5af46984-5b7e-4453-bb50-874c0f513725">
<inPort Id="ac32d317-f053-40ee-903d-06940c4b516a" name="EStopIn8" portName="EStopIn8" portNum="11" objectIndex="15" varId="10" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="74392ccc-b2ec-4792-a77c-42f8f350a5a9">
<inPort Id="70af639f-ebe6-490c-8a9d-ed2e4319496c" name="EDM1" portName="EDM1" portNum="13" objectIndex="1" varId="12" filter="3" portDataType="1" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
<functioBlockHasInPorts Id="3ae952c4-f8e9-4cd7-ac6a-ac3a4dd231ae">
<inPort Id="e496a00a-d6c1-424f-9f86-73bedbaa8cfb" name="EDM2" portName="EDM2" portNum="14" objectIndex="2" varId="13" filter="3" portDataType="1" maxDeviation="0" resetTime="0" />
</functioBlockHasInPorts>
</inPorts>
<outPorts>
<functionBlockHasOutPorts Id="6ec7f41e-e50b-4836-aa70-88c081006a41">
<outPort Id="13ecaba5-0ce7-4bb3-827e-ecae56b14372" name="Error" portName="Error" portNum="4" objectIndex="0" varId="16" filter="7" portDataType="1" replacementValue="0" />
</functionBlockHasOutPorts>
<functionBlockHasOutPorts Id="1ad403fe-00c7-45fe-9d01-7750014f602e">
<outPort Id="e592f68f-b4c4-4a31-9939-cfe184190178" name="EStopOut" portName="EStopOut" portNum="11" objectIndex="1" varId="23" filter="7" portDataType="1" replacementValue="1">
<fbPortGlobalVariableReferences>
<functionBlockPortHasFbPortGlobalVariableReferences Id="b899c5c2-40b6-44c6-ad55-2d81ea3e4e7b">
<fbPortGlobalVariableReference Id="4685ddd6-04e1-492c-b6c2-8d7ed1ccbc1a" variableId="a206d633-4703-4d1d-b69b-7558aa4b78f1" lastKnownPath="GVL1.xNotHaltRegalString2Ok" />
</functionBlockPortHasFbPortGlobalVariableReferences>
</fbPortGlobalVariableReferences>
</outPort>
</functionBlockHasOutPorts>
<functionBlockHasOutPorts Id="f3d2a775-1974-479b-b1cd-a02ef212f15e">
<outPort Id="8f1f6df5-d9cf-4c65-8a05-70dcbe95667a" name="EStopDelOut" portName="EStopDelOut" portNum="12" objectIndex="2" varId="26" filter="7" portDataType="1" replacementValue="1">
<fbPortGlobalVariableReferences>
<functionBlockPortHasFbPortGlobalVariableReferences Id="b525dbf1-ff48-46b4-b505-9f68a325ae44">
<fbPortGlobalVariableReference Id="f1aa3d03-fcda-4717-88eb-4e96b7e34255" variableId="00334237-19c0-45b1-a8f2-4c034ae45ee0" lastKnownPath="GVL1.xNotHaltRegalString2OkDelay" />
</functionBlockPortHasFbPortGlobalVariableReferences>
</fbPortGlobalVariableReferences>
</outPort>
</functionBlockHasOutPorts>
</outPorts>
<parameterPorts>
<functionBlockHasParamPorts Id="b8a7e880-da07-4cb2-a86e-8124c913278c">
<parameterPort Id="56489da1-c24c-476f-ae19-af85f79a2f72" name="Delay Time (ms)" portName="Delay Time (ms)" portNum="8" objectIndex="0" varId="0" filter="0" portDataType="0" timing="100" userFbPortName="Delay Time (ms)" useInUserFb="false" />
</functionBlockHasParamPorts>
</parameterPorts>
</fBEstop>
</networkHasFunctionBlocks>
</functionBlocks>
</Network>
</safetyApplicationHasNetworks>
</networks>
<twinSAFEGroupAliasPorts>
<safetyApplicationHasTwinSAFEGroupAliasPort Id="666e902e-8df3-462e-a51c-f731f40286b1">
@@ -150,5 +229,69 @@
</targetUsages>
</variable>
</safetyApplicationHasVariables>
<safetyApplicationHasVariables Id="19e99ed8-79c2-4e6f-802c-ea4bf08c1a04">
<variable Id="be3eff32-1c6c-409a-9382-d51a43619828" name="xNotHaltCh1VonStringOk" isLocal="false">
<sourceUsages>
<variableHasSourceUsages Id="3ede147e-49cb-457f-a93f-7f53a1e8a830">
<variableUsages Id="3dcaa7ab-b2a4-4555-a4b1-c61faddfb542">
<usages>
<variableUsagesHasUsages Id="e057d911-c79a-4551-b19e-a5ba65aa8467">
<aliasDeviceIoUsage Id="87ec30d6-3b2f-4759-b5a8-37012c3e5a8e" sdsId="27" channelId="2" functionId="1327742742" />
</variableUsagesHasUsages>
</usages>
</variableUsages>
</variableHasSourceUsages>
</sourceUsages>
<targetUsages>
<variableHasTargetUsages Id="20082ef0-7d0c-4083-8576-5f140d54cfed">
<variableUsages Id="842e638c-ab20-4af7-bfd6-ef02cd0fd1f2">
<usages>
<variableUsagesHasUsages Id="4e09ee29-ad02-4f64-aa74-157c86849652">
<fbPortUsage Id="99610296-3c22-40c0-8ad7-c446b1ebcc5d">
<functionBlockPort>
<fbPortUsageReferencesFunctionBlockPort Id="3dd967db-9fce-4f9e-a200-4846f4954536">
<inPortMoniker name="//Network2/FBEstop1/EStopIn1" />
</fbPortUsageReferencesFunctionBlockPort>
</functionBlockPort>
</fbPortUsage>
</variableUsagesHasUsages>
</usages>
</variableUsages>
</variableHasTargetUsages>
</targetUsages>
</variable>
</safetyApplicationHasVariables>
<safetyApplicationHasVariables Id="683fd3a9-5bd4-4a0e-aeee-5fadb83872c8">
<variable Id="ded1573b-55b1-4c69-b040-4082e9111dcc" name="xNotHaltCh2VonStringOk" isLocal="false">
<sourceUsages>
<variableHasSourceUsages Id="e8731ba2-6490-4829-b5f0-fb7d2864a9ca">
<variableUsages Id="4dbc64a1-5589-4b56-85ef-21fde8bb3068">
<usages>
<variableUsagesHasUsages Id="efe6b2d8-a9b0-44ed-b7d0-8df632c44524">
<aliasDeviceIoUsage Id="b99f9c53-5a37-46bc-9072-dcbe1bae3001" sdsId="27" channelId="3" functionId="1327939349" />
</variableUsagesHasUsages>
</usages>
</variableUsages>
</variableHasSourceUsages>
</sourceUsages>
<targetUsages>
<variableHasTargetUsages Id="557c2369-c84e-4b33-b029-545b867ee326">
<variableUsages Id="3ff2c13d-1738-46ba-b0f2-7122a4caa225">
<usages>
<variableUsagesHasUsages Id="5e9fff00-a670-4d63-b903-90dec90e9567">
<fbPortUsage Id="30195a35-2202-4386-9879-a9188875566a">
<functionBlockPort>
<fbPortUsageReferencesFunctionBlockPort Id="161ddf5b-64c7-401e-aeb5-ce5e97e40524">
<inPortMoniker name="//Network2/FBEstop1/EStopIn2" />
</fbPortUsageReferencesFunctionBlockPort>
</functionBlockPort>
</fbPortUsage>
</variableUsagesHasUsages>
</usages>
</variableUsages>
</variableHasTargetUsages>
</targetUsages>
</variable>
</safetyApplicationHasVariables>
</variables>
</safetyApplication>