Compare commits
81 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d65d0b3db | ||
|
|
eaaa2371e8 | ||
|
|
8ea7fd74e2 | ||
|
|
51842388ea | ||
|
|
14ec270259 | ||
|
|
27848d6acc | ||
|
|
26d602eafc | ||
|
|
698451cc1f | ||
|
|
9cf02c1847 | ||
|
|
dd82744356 | ||
|
|
d882effb35 | ||
|
|
269bdabebe | ||
|
|
02dddfc41a | ||
|
|
8bd2e9a1ea | ||
|
|
0d3369d54d | ||
|
|
d718c813c9 | ||
|
|
7c462c9cd4 | ||
|
|
39a206a1df | ||
|
|
dffcfc9ebe | ||
|
|
d7cb895e29 | ||
|
|
755da644bc | ||
|
|
f0e6143997 | ||
|
|
69749409a3 | ||
|
|
9c6e28b83d | ||
|
|
6f97c1aa6b | ||
|
|
6f357a3913 | ||
|
|
e2a44b0d37 | ||
|
|
dacce53625 | ||
|
|
ee3367eaec | ||
|
|
e6802b87b4 | ||
|
|
b6791f7951 | ||
|
|
6fe10cc58c | ||
|
|
58f3c751d3 | ||
|
|
38f44128d1 | ||
|
|
f12063e294 | ||
|
|
2f9f4df261 | ||
|
|
ac0a8d160b | ||
|
|
1677d34d9c | ||
|
|
0d201a140a | ||
|
|
94381dc704 | ||
|
|
0db1fa523a | ||
|
|
70090f08d9 | ||
|
|
7b810b19d2 | ||
|
|
082c250543 | ||
|
|
bbf60864db | ||
|
|
483fa83149 | ||
|
|
a50ffaa00d | ||
|
|
390b831286 | ||
|
|
f79cf27c0c | ||
|
|
4a00a4c414 | ||
|
|
e975d23694 | ||
|
|
2221f6bab3 | ||
|
|
6a1ee45179 | ||
|
|
84e0e174a1 | ||
|
|
4f0905d64a | ||
|
|
2ded890dd4 | ||
|
|
f9df0a5180 | ||
|
|
0345f57a3f | ||
|
|
39a02352f6 | ||
|
|
d9f39953a0 | ||
|
|
3d041c50c4 | ||
|
|
5e94ba4868 | ||
|
|
08d2ffd136 | ||
|
|
112f7cb7d9 | ||
|
|
58e511438e | ||
|
|
0d9a4d9c72 | ||
|
|
cf0d144987 | ||
|
|
5c42d4db0a | ||
|
|
0ffff9be2a | ||
|
|
327f324be8 | ||
|
|
b95033a155 | ||
|
|
9ce3522a70 | ||
|
|
ef26159a4f | ||
|
|
57987cb19f | ||
|
|
82826c258a | ||
|
|
70647caee4 | ||
|
|
4586e72a0e | ||
|
|
bd0bbd9c8b | ||
|
|
2bd41279b1 | ||
|
|
c2e3c2a5d7 | ||
|
|
faa33db290 |
312
.gitignore
vendored
312
.gitignore
vendored
@@ -1,261 +1,57 @@
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
### TwinCAT3 ###
|
||||
# website: https://www.beckhoff.com/twincat3/
|
||||
|
||||
# User-specific files
|
||||
# TwinCAT PLC
|
||||
*.plcproj.bak
|
||||
*.plcproj.orig
|
||||
*.tpy
|
||||
*.tclrs
|
||||
*.library
|
||||
*.compiled-library
|
||||
*.compileinfo
|
||||
*.asm
|
||||
*.core
|
||||
LineIDs.dbg
|
||||
LineIDs.dbg.bak
|
||||
|
||||
# TwinCAT C++ and shared types
|
||||
# ignoring the TMC file is only useful for plain PLC programming
|
||||
# as soon as shared data types (via tmc), C++ or in general TcCom-Module are used, the TMC file has to be part of the repository
|
||||
*.tmc
|
||||
*.tmcRefac
|
||||
|
||||
# TwinCAT project files
|
||||
*.tsproj.bak
|
||||
*.tspproj.bak
|
||||
*.tsproj.b?k
|
||||
*.tsproj.orig
|
||||
*.xti.bak
|
||||
*.xti.bk?
|
||||
*.xti.orig
|
||||
*.xtv
|
||||
*.xtv.bak
|
||||
*.xtv.bk?
|
||||
*.tnzip
|
||||
|
||||
# Multiuser specific
|
||||
**/.TcGit/
|
||||
|
||||
# exclude not required folders
|
||||
**/_Boot/
|
||||
**/_CompileInfo/
|
||||
**/_Libraries/
|
||||
**/_ModuleInstall/
|
||||
**/_Deployment/
|
||||
**/_Repository/
|
||||
|
||||
# VS Shell project specific files and folders
|
||||
**/.vs/
|
||||
*.~u
|
||||
*.project.~u
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
|
||||
# Visual Studio 2015 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# DNX
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_i.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# TODO: Comment the next line if you want to checkin your web deploy settings
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
#*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/packages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/packages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/packages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignoreable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
node_modules/
|
||||
orleans.codegen.cs
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# JetBrains Rider
|
||||
.idea/
|
||||
*.sln.iml
|
||||
|
||||
# CodeRush
|
||||
.cr/
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
# Own Ignores
|
||||
commit.txt
|
||||
*.txt
|
||||
*.exe
|
||||
*.xlsx
|
||||
274
MainSafetyPLC/GVLs/GVL1.sgvl
Normal file
274
MainSafetyPLC/GVLs/GVL1.sgvl
Normal file
@@ -0,0 +1,274 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<GlobalVariables Crc="3854622282" Id="12c44f92-6465-47ce-89f7-613cad033491" FileFormatVersion="1.0">
|
||||
<Variable Id="b420cc6c-39c2-4c75-bb48-acf00ba7ef01">
|
||||
<Name>xNotHaltSchaltschrankCh1</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="8d308713-b99b-4774-be54-de09d587948f">
|
||||
<SdsId>14</SdsId>
|
||||
<ChannelId>1</ChannelId>
|
||||
<FunctionId>1610678529</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="cc176bdf-a747-4aa0-9e98-25de2f5dfe9f">
|
||||
<ModelElementId>721d8d36-06d8-4eee-8f44-0b05696e0b3d</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="60346591-ba5c-4986-842f-7859b68bce4b">
|
||||
<Name>xNotHaltSchaltschrankCh2</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="9556462c-1b78-425b-b7c2-6de10649b0c8">
|
||||
<SdsId>14</SdsId>
|
||||
<ChannelId>3</ChannelId>
|
||||
<FunctionId>1611727105</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="58acb495-5352-48a1-b18b-c065ac328978">
|
||||
<ModelElementId>7398573d-9703-4b43-8c5f-0ae0846e19c6</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="4415ae72-1484-4806-927e-79e9ab66fc0c">
|
||||
<Name>xNotHaltTuerOstCh1</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="e3d66cdb-49e5-4e92-9568-64785d1ace13">
|
||||
<SdsId>14</SdsId>
|
||||
<ChannelId>5</ChannelId>
|
||||
<FunctionId>1612775681</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="d930d7ed-1d5a-4517-bce8-dd0ea5c3de3f">
|
||||
<ModelElementId>46a8b85e-b9ec-445f-902a-1f8f4310f940</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="0d8530ef-b4b6-4dd4-9fea-1c1df65b4868">
|
||||
<Name>xNotHaltTuerOstCh2</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="7399b956-db37-472c-a87b-1eff938fa459">
|
||||
<SdsId>14</SdsId>
|
||||
<ChannelId>7</ChannelId>
|
||||
<FunctionId>1613824257</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="544adbda-9a16-4de7-87cd-76a7ef6d8077">
|
||||
<ModelElementId>d66f2077-2967-4192-943b-96a1839793af</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="fd13ec66-f132-4c16-8dda-cd20dd1a4844">
|
||||
<Name>xNotHaltOk</Name>
|
||||
<SourceUsages>
|
||||
<FbPortUsage Id="97463df8-9f60-4c4f-b8a5-3fd87c06e4fc">
|
||||
<ModelElementId>6cf93fc5-7ecb-422b-8cf8-4336135919fc</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<AliasDeviceIoUsage Id="fc18538a-f56f-46ec-9ce2-17b0c70006be">
|
||||
<SdsId>13</SdsId>
|
||||
<ChannelId>1</ChannelId>
|
||||
<FunctionId>1879113985</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
<AliasDeviceIoUsage Id="d908d190-b35a-4c1a-9497-d88f8b2879b0">
|
||||
<SdsId>18</SdsId>
|
||||
<ChannelId>1</ChannelId>
|
||||
<FunctionId>1131179972</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="b61d0fc0-cc9f-462c-87a0-7ca3a2a7ddd0">
|
||||
<Name>xNotHaltDelayOk</Name>
|
||||
<SourceUsages>
|
||||
<FbPortUsage Id="8416f12c-c78c-416e-ba49-8b10036d553d">
|
||||
<ModelElementId>cb8ea492-a258-459b-a2c3-043a36bdf6db</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="71233037-fdaf-49ac-9517-eb44725603d3">
|
||||
<ModelElementId>fe6d9c1e-be3a-4054-a12e-2d99ec66f013</ModelElementId>
|
||||
</FbPortUsage>
|
||||
<FbPortUsage Id="e2c7cdeb-b6eb-4dad-8d3c-87e10a772992">
|
||||
<ModelElementId>c7fc83ba-0893-453e-abca-62c3026cd20b</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="6d45e67f-50df-4b61-a9d0-03f285b6a1bf">
|
||||
<Name>xRun</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="0f77c6e7-fa09-4ddf-8737-e2c502cfc1d5">
|
||||
<SdsId>22</SdsId>
|
||||
<ChannelId>1</ChannelId>
|
||||
<FunctionId>1131179973</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<GroupPortUsage Id="f18a5e91-f203-4740-b068-f7f204159095">
|
||||
<ModelElementId>9ed1be77-693c-4094-a86b-db09b880ab2a</ModelElementId>
|
||||
</GroupPortUsage>
|
||||
<GroupPortUsage Id="c5647103-bbbf-4051-b3ca-8334ecea45fd">
|
||||
<ModelElementId>e41660f4-d22d-40b1-8509-7bd9c69b7766</ModelElementId>
|
||||
</GroupPortUsage>
|
||||
<GroupPortUsage Id="5a3f569f-5808-4be9-9b6f-a35ace560f48">
|
||||
<ModelElementId>fe721ea0-ced8-4eef-9bca-ad67f4c1932f</ModelElementId>
|
||||
</GroupPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="9f1c118d-b0f2-4f34-abb9-b4b05f111bfd">
|
||||
<Name>xErrorAck</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="c02109ba-3b28-41fe-95f5-bacb2d9034ae">
|
||||
<SdsId>23</SdsId>
|
||||
<ChannelId>1</ChannelId>
|
||||
<FunctionId>1131179973</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<GroupPortUsage Id="99bc5198-5e24-4b2e-b1b5-957e829eccbc">
|
||||
<ModelElementId>277b38b0-bc98-441b-8265-96adb0e90c94</ModelElementId>
|
||||
</GroupPortUsage>
|
||||
<GroupPortUsage Id="4639e925-a2f5-4d94-893d-eef18966b590">
|
||||
<ModelElementId>7e2ebab5-c2df-4469-a598-6fb5f2509ad0</ModelElementId>
|
||||
</GroupPortUsage>
|
||||
<GroupPortUsage Id="12e4adac-2b63-480a-beaf-90ff71f2dc18">
|
||||
<ModelElementId>65f2e47b-7af5-4a83-8ef8-23221bf7e937</ModelElementId>
|
||||
</GroupPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="3b4f283a-d376-4bbc-8717-cb4b3d88342e">
|
||||
<Name>xNotHaltRestart</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="52d8ae0e-25fa-465c-a970-62b009ed20d6">
|
||||
<SdsId>28</SdsId>
|
||||
<ChannelId>1</ChannelId>
|
||||
<FunctionId>1131179973</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="346a3822-ed04-4fde-b077-52f1bf6c8a13">
|
||||
<ModelElementId>f40fa17f-ee60-40e6-afd0-a4ff3f333ac1</ModelElementId>
|
||||
</FbPortUsage>
|
||||
<FbPortUsage Id="a31f1a6e-c6d7-4f76-84c0-593dc80c2942">
|
||||
<ModelElementId>497dfd32-770c-4ea1-8d8b-42400c79a8b8</ModelElementId>
|
||||
</FbPortUsage>
|
||||
<FbPortUsage Id="81e8678c-cf7d-43d1-b14e-3c90fcb3e005">
|
||||
<ModelElementId>336968a3-e5f5-4dd8-a188-11d2e30ce80e</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="76c1a103-19fb-44e4-ab23-4ac096cb2fac">
|
||||
<Name>xNotHaltTuerWestCh1</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="5195b423-08a7-4944-9bed-128f4a94058d">
|
||||
<SdsId>14</SdsId>
|
||||
<ChannelId>9</ChannelId>
|
||||
<FunctionId>1614872833</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="ea36c8b2-efd5-46f5-a835-eb3e35569f19">
|
||||
<ModelElementId>64515727-5f9a-4ef4-974a-7ade4f8c0d7e</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="302f2cc9-466b-4cb8-ac1f-a556b1dfd382">
|
||||
<Name>xNotHaltTuerWestCh2</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="469f99eb-7479-4d40-8d62-ffe3ab1a3997">
|
||||
<SdsId>14</SdsId>
|
||||
<ChannelId>11</ChannelId>
|
||||
<FunctionId>1615921409</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="3919fcd7-33d4-490e-87e5-5ad3fff1d598">
|
||||
<ModelElementId>5203a339-fdf3-49a3-949c-21580a00e54e</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="36d412ed-4294-44b7-929d-f6cea8e5ef61">
|
||||
<Name>xNotHaltTuerNordCh1</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="eb5d07aa-5c6f-4c59-86ea-8eaa4df30ae6">
|
||||
<SdsId>14</SdsId>
|
||||
<ChannelId>13</ChannelId>
|
||||
<FunctionId>1616969985</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="4bb95c2b-3b9f-4e73-9c4f-77a38bce53eb">
|
||||
<ModelElementId>b0e41880-05c6-4369-96c8-e159ad9f71b9</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="da993469-9e03-494e-b7ff-aaa36b4ef23b">
|
||||
<Name>xNotHaltTuerNordCh2</Name>
|
||||
<SourceUsages>
|
||||
<AliasDeviceIoUsage Id="f06950e5-fe99-4510-9663-ce0fc0616cc0">
|
||||
<SdsId>14</SdsId>
|
||||
<ChannelId>15</ChannelId>
|
||||
<FunctionId>1618018561</FunctionId>
|
||||
</AliasDeviceIoUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="8205ccc3-0c2f-4d13-8036-b37d78d31ee5">
|
||||
<ModelElementId>a84723e7-49ae-438e-a184-3cd0a05ad119</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="470a26a4-f34a-41f5-9dc7-8b857cf4fdda">
|
||||
<Name>xNotHaltRegalString1Ok</Name>
|
||||
<SourceUsages>
|
||||
<FbPortUsage Id="544b610d-0c8e-41b0-b22a-50781eaa3c73">
|
||||
<ModelElementId>5257f24c-a541-4d7e-a17c-47c0eb1c0658</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="8f55662e-9514-4f80-adfc-74c7c488fc94">
|
||||
<ModelElementId>34590447-ed64-453b-a1b9-a2c43b9ea301</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="a206d633-4703-4d1d-b69b-7558aa4b78f1">
|
||||
<Name>xNotHaltRegalString2Ok</Name>
|
||||
<SourceUsages>
|
||||
<FbPortUsage Id="276c6fe1-06ba-41a9-a7af-168bfadb8f51">
|
||||
<ModelElementId>e592f68f-b4c4-4a31-9939-cfe184190178</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="ef267542-db9d-4032-acde-bc7a414a4659">
|
||||
<ModelElementId>7d674340-ae8f-4834-bfc9-50845e6344e7</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="34175068-eb12-4ad7-ac89-538b91b7f333">
|
||||
<Name>xNotHaltRegalString1OkDelay</Name>
|
||||
<SourceUsages>
|
||||
<FbPortUsage Id="b1801235-cc04-43da-897d-e7aff47d4166">
|
||||
<ModelElementId>3f849045-0b93-4743-8e4f-168a6bcf5af1</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="9415cf4c-d4cb-402b-a172-9418d845837c">
|
||||
<ModelElementId>437b7852-b2f1-47fa-8d91-5eb8a49ea9f6</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
<Variable Id="00334237-19c0-45b1-a8f2-4c034ae45ee0">
|
||||
<Name>xNotHaltRegalString2OkDelay</Name>
|
||||
<SourceUsages>
|
||||
<FbPortUsage Id="b629d26d-451b-4b4c-b564-74407792e735">
|
||||
<ModelElementId>8f1f6df5-d9cf-4c65-8a05-70dcbe95667a</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</SourceUsages>
|
||||
<TargetUsages>
|
||||
<FbPortUsage Id="a025a4b8-f286-4167-a489-48b95dd52e8c">
|
||||
<ModelElementId>f12cd8e1-ce57-4e8d-bce8-837114286a11</ModelElementId>
|
||||
</FbPortUsage>
|
||||
</TargetUsages>
|
||||
</Variable>
|
||||
</GlobalVariables>
|
||||
69
MainSafetyPLC/MainSafetyPLC.splcproj
Normal file
69
MainSafetyPLC/MainSafetyPLC.splcproj
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Crc="176752349" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{2334894d-aaaf-4180-8968-1bd4b960b0f8}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>TwinCAT3SafePlcProject</RootNamespace>
|
||||
<AssemblyName>TwinCAT3SafePlcProject</AssemblyName>
|
||||
<FileUpgradeFlags />
|
||||
<UpgradeBackupLocation />
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetSystem>EL6900</TargetSystem>
|
||||
<ProgrammingLanguage>Graphical Editor</ProgrammingLanguage>
|
||||
<Worker>M. Heisig</Worker>
|
||||
<IntProjName>Haup-Not-Halt</IntProjName>
|
||||
<IsNewCreated>false</IsNewCreated>
|
||||
<SPlcProjVersion>1.8.0.0</SPlcProjVersion>
|
||||
<NextSdsId>30</NextSdsId>
|
||||
<Name>MainSafetyPLC</Name>
|
||||
<SortMode>2</SortMode>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Include="GVLs\GVL1.sgvl" />
|
||||
<None Include="NotHaltString1\Alias Devices\NotHaltInterface.sds" />
|
||||
<None Include="NotHaltString1\NotHaltString1.sal" />
|
||||
<None Include="NotHaltString1\NotHaltString1.sal.diagram">
|
||||
<Visible>false</Visible>
|
||||
<DependentUpon>NotHaltString1\NotHaltString1.sal</DependentUpon>
|
||||
</None>
|
||||
<None Include="NotHaltString2\Alias Devices\NotHAltInterface.sds" />
|
||||
<None Include="NotHaltString2\NotHaltString2.sal" />
|
||||
<None Include="NotHaltString2\NotHaltString2.sal.diagram">
|
||||
<Visible>false</Visible>
|
||||
<DependentUpon>NotHaltString2\NotHaltString2.sal</DependentUpon>
|
||||
</None>
|
||||
<None Include="Not_Halt_Global\Alias Devices\-45K1 %28EL1918%29 - Module 1 %28FSOE%29.sds" />
|
||||
<None Include="Not_Halt_Global\Alias Devices\-46K1 %28EL2904%29 - Module 1 %28FSOES%29.sds" />
|
||||
<None Include="Not_Halt_Global\Alias Devices\ErrorAck.sds" />
|
||||
<None Include="Not_Halt_Global\Alias Devices\EStopOk.sds" />
|
||||
<None Include="Not_Halt_Global\Alias Devices\NotHaltRestart.sds" />
|
||||
<None Include="Not_Halt_Global\Alias Devices\Run.sds" />
|
||||
<None Include="Not_Halt_Global\Not_Halt_Global.sal" />
|
||||
<None Include="Not_Halt_Global\Not_Halt_Global.sal.diagram">
|
||||
<DependentUpon>Not_Halt_Global\Not_Halt_Global.sal</DependentUpon>
|
||||
<Visible>false</Visible>
|
||||
</None>
|
||||
<None Include="TargetSystemConfig.xml">
|
||||
<Visible>false</Visible>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="GVLs" />
|
||||
<Folder Include="NotHaltString1" />
|
||||
<Folder Include="NotHaltString1\Alias Devices" />
|
||||
<Folder Include="NotHaltString2" />
|
||||
<Folder Include="NotHaltString2\Alias Devices" />
|
||||
<Folder Include="Not_Halt_Global" />
|
||||
<Folder Include="Not_Halt_Global\Alias Devices" />
|
||||
<Folder Include="User FBs" />
|
||||
</ItemGroup>
|
||||
<ProjectExtensions />
|
||||
</Project>
|
||||
224
MainSafetyPLC/NotHaltString1/Alias Devices/NotHaltInterface.sds
Normal file
224
MainSafetyPLC/NotHaltString1/Alias Devices/NotHaltInterface.sds
Normal file
@@ -0,0 +1,224 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SafetyDeviceDesc Crc="3807308941" FileFormatVersion="1.9">
|
||||
<AliasDeviceType>
|
||||
<Type>16</Type>
|
||||
<SubType>0</SubType>
|
||||
<VendorId>0</VendorId>
|
||||
</AliasDeviceType>
|
||||
<SDSID>26</SDSID>
|
||||
<SafetyAliasDevice>
|
||||
<ObjectId>0</ObjectId>
|
||||
<LinkingMode>Manual</LinkingMode>
|
||||
<ConnectionId>26</ConnectionId>
|
||||
<ConnectionMode>master</ConnectionMode>
|
||||
<ConnectionType>FSoE</ConnectionType>
|
||||
<MapDiag>false</MapDiag>
|
||||
<MapInputs>false</MapInputs>
|
||||
<MapOutputs>false</MapOutputs>
|
||||
<MapState>false</MapState>
|
||||
<ModuleFaultIsComErr>false</ModuleFaultIsComErr>
|
||||
<SafeAddress>100</SafeAddress>
|
||||
<Watchdog>100</Watchdog>
|
||||
<ComErrAck Type="Unset" />
|
||||
<Messages InputMessageSize="6" OutputMessageSize="6" Tc2ConnectionType="190853202" CustomFSoEConnectionId="abaabd0a-ce90-4f58-aa2b-1505f1e3352d">
|
||||
<IO>
|
||||
<Name>FSoE Cmd</Name>
|
||||
<DataType>USINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[0]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>8</BitOffsMessage>
|
||||
<BitOffsData>0</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[1]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>9</BitOffsMessage>
|
||||
<BitOffsData>1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[2]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>10</BitOffsMessage>
|
||||
<BitOffsData>2</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[3]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>11</BitOffsMessage>
|
||||
<BitOffsData>3</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[4]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>12</BitOffsMessage>
|
||||
<BitOffsData>4</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[5]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>13</BitOffsMessage>
|
||||
<BitOffsData>5</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[6]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>14</BitOffsMessage>
|
||||
<BitOffsData>6</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[7]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>15</BitOffsMessage>
|
||||
<BitOffsData>7</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE CRC_0</Name>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>16</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE ConnID</Name>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>32</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Cmd</Name>
|
||||
<DataType>USINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[0]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>8</BitOffsMessage>
|
||||
<BitOffsData>0</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[1]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>9</BitOffsMessage>
|
||||
<BitOffsData>1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[2]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>10</BitOffsMessage>
|
||||
<BitOffsData>2</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[3]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>11</BitOffsMessage>
|
||||
<BitOffsData>3</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[4]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>12</BitOffsMessage>
|
||||
<BitOffsData>4</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[5]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>13</BitOffsMessage>
|
||||
<BitOffsData>5</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[6]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>14</BitOffsMessage>
|
||||
<BitOffsData>6</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[7]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>15</BitOffsMessage>
|
||||
<BitOffsData>7</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE CRC_0</Name>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>16</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE ConnID</Name>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>32</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
</Messages>
|
||||
</SafetyAliasDevice>
|
||||
</SafetyDeviceDesc>
|
||||
297
MainSafetyPLC/NotHaltString1/NotHaltString1.sal
Normal file
297
MainSafetyPLC/NotHaltString1/NotHaltString1.sal
Normal file
@@ -0,0 +1,297 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<safetyApplication Crc="3987103492" xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" dslVersion="1.5.0.0" Id="ee0f6780-d690-4a7b-bca6-dedf942a933e" name="" mapState="false" mapDiag="false" groupOrderId="0" 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="0128b245-705e-4f3e-bf21-12c6b95cf2f3">
|
||||
<Network Id="8b3e94c9-8993-4028-8d2f-eefe0ea6472c" name="Network1" networkName="Network1" intId="1" networkOrderId="0">
|
||||
<functionBlocks>
|
||||
<networkHasFunctionBlocks Id="597364c8-80c4-4005-b908-f11e3f449c03">
|
||||
<fBDecouple Id="28554a79-065c-4a03-8f1c-16e41bbcaec8" name="FBDecouple1" instanceName="FBDecouple1" orderOfExecution="1" mapState="false" mapDiag="false" functionName="safeDecouple">
|
||||
<inPorts>
|
||||
<functioBlockHasInPorts Id="eeaf911c-9db2-4aae-9da2-477ebd9c021a">
|
||||
<inPort Id="fe6d9c1e-be3a-4054-a12e-2d99ec66f013" name="DecIn1" portName="DecIn1" portNum="3" objectIndex="8" varId="5" filter="2" portDataType="1" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="69424764-eae2-4134-9e66-37901691a649">
|
||||
<fbPortGlobalVariableReference Id="6ba2b935-22af-4a62-abb8-ad7d83e32586" variableId="b61d0fc0-cc9f-462c-87a0-7ca3a2a7ddd0" lastKnownPath="GVL1.xNotHaltDelayOk" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="67f67cc2-a0e8-42e2-8aae-a5d5f62e0387">
|
||||
<inPort Id="0e4972d6-856e-4eca-8936-f1ea87a32e09" name="DecIn2" portName="DecIn2" portNum="4" objectIndex="9" varId="6" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="dd6c5907-a353-4ad7-acf9-6dd52391a0b3">
|
||||
<inPort Id="45f8a34d-bb6a-419b-b963-df2c945fed48" name="DecIn3" portName="DecIn3" portNum="5" objectIndex="10" varId="7" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="76fadd4e-5575-45a8-a5c4-c759ddad43fa">
|
||||
<inPort Id="9fcec6cf-3491-4d93-9366-63045991436e" name="DecIn4" portName="DecIn4" portNum="6" objectIndex="11" varId="8" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="f8956d06-9688-479b-a28f-dd17ce00a08d">
|
||||
<inPort Id="597ce623-5649-46f7-8033-f1187be18b4a" name="DecIn5" portName="DecIn5" portNum="7" objectIndex="12" varId="9" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="21ae088b-a0e1-40d6-a02f-a556678a3136">
|
||||
<inPort Id="b1c1df3a-d1c8-4fb0-90fd-2dc11f11538e" name="DecIn6" portName="DecIn6" portNum="8" objectIndex="13" varId="10" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="76d80d11-4693-4a8f-80de-d40de509b904">
|
||||
<inPort Id="21272489-f155-419e-9214-25fa98f755c3" name="DecIn7" portName="DecIn7" portNum="9" objectIndex="14" varId="11" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="5c5c0ee0-b6c8-49fd-9b96-e84558abff5f">
|
||||
<inPort Id="88329205-ce9e-40b5-8e29-c1a98a747766" name="DecIn8" portName="DecIn8" portNum="10" objectIndex="15" varId="12" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
</inPorts>
|
||||
<outPorts>
|
||||
<functionBlockHasOutPorts Id="f8a236a9-8b8f-43a8-b123-c6b48aff3bdc">
|
||||
<outPort Id="7576d183-d9ec-437a-9d04-f18b8d2eb195" name="DecOut1" portName="DecOut1" portNum="3" objectIndex="8" varId="17" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="f4344bba-4d63-4507-849b-3d978bab5cf3">
|
||||
<outPort Id="8751d36c-1b61-4462-8272-06b4051c31b0" name="DecOut2" portName="DecOut2" portNum="4" objectIndex="9" varId="18" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="013eed64-9ada-475e-a736-d32eab950b9c">
|
||||
<outPort Id="f6f40aa5-9256-4bd6-9682-7ba7bbbf2c98" name="DecOut3" portName="DecOut3" portNum="5" objectIndex="10" varId="19" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="8e64fa34-7a60-4b9e-a752-d5bdd4f5b42e">
|
||||
<outPort Id="87d37faa-0bc0-42fa-b6ea-51c1b9bbe2a3" name="DecOut4" portName="DecOut4" portNum="6" objectIndex="11" varId="20" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="bffa8eb6-8f33-4ab3-9361-29f606effd18">
|
||||
<outPort Id="93423867-942e-4732-9ff2-16744746788c" name="DecOut5" portName="DecOut5" portNum="7" objectIndex="12" varId="21" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="3e87e127-648a-402f-bd9b-faf6de48856c">
|
||||
<outPort Id="bbbe4388-076a-4aca-866d-c77ca7308e75" name="DecOut6" portName="DecOut6" portNum="8" objectIndex="13" varId="22" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="9724ede9-7985-4684-a397-55d9b963451d">
|
||||
<outPort Id="9e5e23af-7aa5-4ea5-9889-216dafc85f73" name="DecOut7" portName="DecOut7" portNum="9" objectIndex="14" varId="23" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="ec7852b4-5f35-4128-818f-04d882e1695b">
|
||||
<outPort Id="57bda647-3747-4e2e-b724-eb146f25a126" name="DecOut8" portName="DecOut8" portNum="10" objectIndex="15" varId="24" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
</outPorts>
|
||||
</fBDecouple>
|
||||
</networkHasFunctionBlocks>
|
||||
</functionBlocks>
|
||||
</Network>
|
||||
</safetyApplicationHasNetworks>
|
||||
<safetyApplicationHasNetworks Id="90d5d4e6-4f1e-4628-b733-144c9de76cd2">
|
||||
<Network Id="671fb8c4-89cf-44be-8d23-cbb6701fd61e" name="Network2" networkName="Network2" intId="2" networkOrderId="1">
|
||||
<functionBlocks>
|
||||
<networkHasFunctionBlocks Id="f5bccaca-47e4-49db-8768-2e8ce3056245">
|
||||
<fBEstop Id="4559e424-0981-4a85-b7cc-1dc0ccd1402e" name="FBEstop1" instanceName="FBEstop1" orderOfExecution="2" mapState="false" mapDiag="false" functionName="safeEstop" safeInputsAfterDiscError="true">
|
||||
<inPorts>
|
||||
<functioBlockHasInPorts Id="99543c9a-c578-4231-9661-a7be54d0c76a">
|
||||
<inPort Id="497dfd32-770c-4ea1-8d8b-42400c79a8b8" name="Restart" portName="Restart" portNum="2" objectIndex="0" varId="1" filter="3" portDataType="1" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="7cceb12e-cc05-44ac-94e5-bbe7a80d67b1">
|
||||
<fbPortGlobalVariableReference Id="296b1094-2edc-4e64-a25c-c197dc359662" variableId="3b4f283a-d376-4bbc-8717-cb4b3d88342e" lastKnownPath="GVL1.xNotHaltRestart" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="80bd272c-3ec8-4fd5-b42f-99dbe7b85fb6">
|
||||
<inPort Id="8f4735d3-2ce2-4771-ba00-54e5f6567269" 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="b8763669-4c36-4061-ac05-f5f285139c33">
|
||||
<inPort Id="65be6133-a359-4aab-8f4c-0d983aaaab2f" name="EStopIn2" portName="EStopIn2" portNum="5" objectIndex="9" varId="4" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="42c86461-6936-43cc-a130-768353224eb7">
|
||||
<inPort Id="5264fae5-29d3-498e-b2ae-1247fd18b1f3" name="EStopIn3" portName="EStopIn3" portNum="6" objectIndex="10" varId="5" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="1460bdd1-b085-419a-9397-c2f13846d5bb">
|
||||
<inPort Id="9bc7d598-3230-4992-85cc-9d55a1ebb4f4" name="EStopIn4" portName="EStopIn4" portNum="7" objectIndex="11" varId="6" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="c9f6ec40-0d88-4032-9c23-60c05aa681c5">
|
||||
<inPort Id="0b949dcb-b246-4595-9507-c9ed36c6a5f1" name="EStopIn5" portName="EStopIn5" portNum="8" objectIndex="12" varId="7" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="0f987205-ab14-40ad-9ec0-4d1323b40512">
|
||||
<inPort Id="0b89af62-dc43-4b92-baf0-bb227ea062fa" name="EStopIn6" portName="EStopIn6" portNum="9" objectIndex="13" varId="8" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="1c02c553-e882-4f5b-88ac-c03bd8fec13f">
|
||||
<inPort Id="d4d86a3d-f795-4951-9f8e-4f37fcda55bc" name="EStopIn7" portName="EStopIn7" portNum="10" objectIndex="14" varId="9" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="585c08cd-8d08-4e23-aca3-ead3e434563b">
|
||||
<inPort Id="62b181b3-e033-4f24-b742-8c9920eadb5f" name="EStopIn8" portName="EStopIn8" portNum="11" objectIndex="15" varId="10" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="75ca15a3-99cf-4388-813b-e27c4f6970f8">
|
||||
<inPort Id="cae43924-b9fd-484e-8d4b-0eb8e678040b" name="EDM1" portName="EDM1" portNum="13" objectIndex="1" varId="12" filter="3" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="eb16d72f-4f48-4be0-997e-e8e0f605eac7">
|
||||
<inPort Id="a5f6b637-d894-4275-89d9-5917f08c90b0" name="EDM2" portName="EDM2" portNum="14" objectIndex="2" varId="13" filter="3" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
</inPorts>
|
||||
<outPorts>
|
||||
<functionBlockHasOutPorts Id="0a9741e4-91bf-427e-8e46-47b98c429f21">
|
||||
<outPort Id="eadf126d-30c6-44af-9303-689245516d46" name="Error" portName="Error" portNum="4" objectIndex="0" varId="16" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="a92f7e81-dc0b-4719-bdfe-375c50e630b1">
|
||||
<outPort Id="5257f24c-a541-4d7e-a17c-47c0eb1c0658" name="EStopOut" portName="EStopOut" portNum="11" objectIndex="1" varId="23" filter="7" portDataType="1" replacementValue="1">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="eecb2744-5c10-44ec-b99f-25b03bc2b7ef">
|
||||
<fbPortGlobalVariableReference Id="6722c939-f096-474c-8644-626606a23c14" variableId="470a26a4-f34a-41f5-9dc7-8b857cf4fdda" lastKnownPath="GVL1.xNotHaltRegalString1Ok" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</outPort>
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="379edb31-c68b-4f0b-9fdc-2685efdbeaca">
|
||||
<outPort Id="3f849045-0b93-4743-8e4f-168a6bcf5af1" name="EStopDelOut" portName="EStopDelOut" portNum="12" objectIndex="2" varId="26" filter="7" portDataType="1" replacementValue="1">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="45f23705-d80c-424a-a287-ee5722cc19bb">
|
||||
<fbPortGlobalVariableReference Id="1907cab7-0053-4fa1-86c0-fdd12b7ef9c8" variableId="34175068-eb12-4ad7-ac89-538b91b7f333" lastKnownPath="GVL1.xNotHaltRegalString1OkDelay" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</outPort>
|
||||
</functionBlockHasOutPorts>
|
||||
</outPorts>
|
||||
<parameterPorts>
|
||||
<functionBlockHasParamPorts Id="ec4d6418-354e-48c3-8747-e8162644a6ff">
|
||||
<parameterPort Id="413d15bf-3532-4dc9-bcdd-4c79d5a31dc7" 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="c66ef078-cf59-4438-8086-6bcea2342270">
|
||||
<twinSAFEGroupAliasPort Id="9ed1be77-693c-4094-a86b-db09b880ab2a" name="RunStop" sdsId="0" channelId="0" portName="RunStop" functionId="0">
|
||||
<groupPortGlobalVariableReferences>
|
||||
<twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences Id="bd621344-2ae3-4fd6-8dd9-14ca57123492">
|
||||
<groupPortGlobalVariableReference Id="81de0ecc-4910-410d-8d6a-81c54ad749f3" variableId="6d45e67f-50df-4b61-a9d0-03f285b6a1bf" lastKnownPath="GVL1.xRun" />
|
||||
</twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences>
|
||||
</groupPortGlobalVariableReferences>
|
||||
</twinSAFEGroupAliasPort>
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="8a692264-2060-4a74-a21b-ab951ec95b03">
|
||||
<twinSAFEGroupAliasPort Id="277b38b0-bc98-441b-8265-96adb0e90c94" name="ErrAck" sdsId="0" channelId="0" portName="ErrAck" functionId="0">
|
||||
<groupPortGlobalVariableReferences>
|
||||
<twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences Id="23e0a16e-7cd4-4bdd-b425-4d363bec6f1a">
|
||||
<groupPortGlobalVariableReference Id="885bcbe4-7852-42c3-926c-41fd6fbdda4d" variableId="9f1c118d-b0f2-4f34-abb9-b4b05f111bfd" lastKnownPath="GVL1.xErrorAck" />
|
||||
</twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences>
|
||||
</groupPortGlobalVariableReferences>
|
||||
</twinSAFEGroupAliasPort>
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="9fed88f7-84fc-4ad5-91fe-5daa3e39acd6">
|
||||
<twinSAFEGroupAliasPort Id="d290cbf2-63ae-4e8d-a334-bb186d9f3905" name="ModuleFault" sdsId="0" channelId="0" portName="ModuleFault" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="805b07d6-2c38-4354-8e33-d29f8a10a047">
|
||||
<twinSAFEGroupAliasPort Id="80e1ef3d-ded0-400f-b7db-4cb1e3dad9dd" name="FbErr" sdsId="0" channelId="0" portName="FbErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="bf19db4a-503b-4863-8441-443423008f81">
|
||||
<twinSAFEGroupAliasPort Id="0c968d94-b03a-44de-a58b-9ac9cccab7dd" name="ComErr" sdsId="0" channelId="0" portName="ComErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="9f3fdfef-acd1-4bc9-9efb-c873185b489c">
|
||||
<twinSAFEGroupAliasPort Id="7cf2bfb7-dcb8-40d9-8f4d-360fdd25833c" name="OutErr" sdsId="0" channelId="0" portName="OutErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="8e9f83e7-d8fa-4635-9705-ab1220bd96bb">
|
||||
<twinSAFEGroupAliasPort Id="505dd148-638b-4bc8-a3b8-37fa13c4a409" name="OtherErr" sdsId="0" channelId="0" portName="OtherErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="ef913215-7d3e-4d88-8fe8-9426f8d443b7">
|
||||
<twinSAFEGroupAliasPort Id="de68f000-ed24-4cbd-9726-9b7f544e0a58" name="ComStartup" sdsId="0" channelId="0" portName="ComStartup" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="159ac469-554c-4bbd-aa99-010c0202cf16">
|
||||
<twinSAFEGroupAliasPort Id="e9f240ac-770c-4557-b9e5-ec68b0556509" name="FbDeactive" sdsId="0" channelId="0" portName="FbDeactive" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="82cec40f-e863-4212-8f0b-93be5cec2110">
|
||||
<twinSAFEGroupAliasPort Id="2842f29e-87d6-473b-9811-c02fe2c2cbd5" name="FbRun" sdsId="0" channelId="0" portName="FbRun" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="3ffdd80b-d5a6-42b0-afa4-858a2c87f8ef">
|
||||
<twinSAFEGroupAliasPort Id="64e40965-3084-448a-9fa8-a69b9c4f5d1f" name="InRun" sdsId="0" channelId="0" portName="InRun" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
</twinSAFEGroupAliasPorts>
|
||||
<variables>
|
||||
<safetyApplicationHasVariables Id="9aa82846-c29d-42d1-b59d-941b37194a15">
|
||||
<variable Id="bc11f417-d5a7-4c81-9b18-13121cad94cc" name="NotHaltOk" isLocal="false">
|
||||
<sourceUsages>
|
||||
<variableHasSourceUsages Id="e0c705dd-fc59-4038-902c-5d111ba29382">
|
||||
<variableUsages Id="ccf315f0-8d99-43c7-be3f-9bb2cf1bed20">
|
||||
<usages>
|
||||
<variableUsagesHasUsages Id="ef7e754b-a11b-4a41-b022-4529046048c5">
|
||||
<fbPortUsage Id="a6f7e0b4-0628-495b-960e-9575b1083d3f">
|
||||
<functionBlockPort>
|
||||
<fbPortUsageReferencesFunctionBlockPort Id="596d727f-3ecc-49cd-a682-0d8896890f2f">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut1" />
|
||||
</fbPortUsageReferencesFunctionBlockPort>
|
||||
</functionBlockPort>
|
||||
</fbPortUsage>
|
||||
</variableUsagesHasUsages>
|
||||
</usages>
|
||||
</variableUsages>
|
||||
</variableHasSourceUsages>
|
||||
</sourceUsages>
|
||||
<targetUsages>
|
||||
<variableHasTargetUsages Id="e9230a58-baf1-4c8b-81af-be0ce67d9748">
|
||||
<variableUsages Id="6638588a-bb03-46c2-af2c-14dac0094d78">
|
||||
<usages>
|
||||
<variableUsagesHasUsages Id="204c881d-4803-412a-b853-09326d838503">
|
||||
<aliasDeviceIoUsage Id="ded07e9d-0a4c-4880-919c-f710ab3a9e6e" sdsId="26" channelId="1" functionId="1327546135" />
|
||||
</variableUsagesHasUsages>
|
||||
</usages>
|
||||
</variableUsages>
|
||||
</variableHasTargetUsages>
|
||||
</targetUsages>
|
||||
</variable>
|
||||
</safetyApplicationHasVariables>
|
||||
<safetyApplicationHasVariables Id="9f4514e1-9b93-4f77-98e3-b4f82c8d63a0">
|
||||
<variable Id="4f4b32ec-8210-4d12-bf74-c098b4f1a4fe" name="xNotHaltCh1VonStringOk" isLocal="false">
|
||||
<sourceUsages>
|
||||
<variableHasSourceUsages Id="3c5f9a39-8613-49cc-a4fd-1ecbbff75b1f">
|
||||
<variableUsages Id="9d091da7-e8a1-4fe7-ae2a-15f406c76581">
|
||||
<usages>
|
||||
<variableUsagesHasUsages Id="6320735a-129d-4a25-a59b-4cb581d1ca0f">
|
||||
<aliasDeviceIoUsage Id="3f4f18b1-9f0e-438f-8bc8-f8a4dc2f2d4d" sdsId="26" channelId="2" functionId="1327742742" />
|
||||
</variableUsagesHasUsages>
|
||||
</usages>
|
||||
</variableUsages>
|
||||
</variableHasSourceUsages>
|
||||
</sourceUsages>
|
||||
<targetUsages>
|
||||
<variableHasTargetUsages Id="754eff0f-0cff-476a-96c1-baaf167d5021">
|
||||
<variableUsages Id="b861d26b-f707-4973-8bc2-9b1282177455">
|
||||
<usages>
|
||||
<variableUsagesHasUsages Id="d03fbf7b-e370-415e-b061-b0716140cec4">
|
||||
<fbPortUsage Id="4ef3ac4c-4e1c-4e13-ad3a-252c095a0e36">
|
||||
<functionBlockPort>
|
||||
<fbPortUsageReferencesFunctionBlockPort Id="d4e5b88f-dfb6-4ef5-8c69-456c66527a90">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn1" />
|
||||
</fbPortUsageReferencesFunctionBlockPort>
|
||||
</functionBlockPort>
|
||||
</fbPortUsage>
|
||||
</variableUsagesHasUsages>
|
||||
</usages>
|
||||
</variableUsages>
|
||||
</variableHasTargetUsages>
|
||||
</targetUsages>
|
||||
</variable>
|
||||
</safetyApplicationHasVariables>
|
||||
<safetyApplicationHasVariables Id="b1cf7cb5-8947-429e-ad64-defc8f9df912">
|
||||
<variable Id="7d9a55d3-e277-4606-ab22-db87bed9ce87" name="xNotHaltCh2VonStringOk" isLocal="false">
|
||||
<sourceUsages>
|
||||
<variableHasSourceUsages Id="9cf33fd7-a70d-4166-9b8b-e84d745a98b9">
|
||||
<variableUsages Id="4c3c6e01-3fa1-4c82-b41b-829f00111784">
|
||||
<usages>
|
||||
<variableUsagesHasUsages Id="b4a81de1-551e-45ba-bc58-49388e8d2477">
|
||||
<aliasDeviceIoUsage Id="875b0684-6575-4081-8310-711b7f7c3ed7" sdsId="26" channelId="3" functionId="1327939349" />
|
||||
</variableUsagesHasUsages>
|
||||
</usages>
|
||||
</variableUsages>
|
||||
</variableHasSourceUsages>
|
||||
</sourceUsages>
|
||||
<targetUsages>
|
||||
<variableHasTargetUsages Id="259937ce-9093-4fc3-92d3-002768d25147">
|
||||
<variableUsages Id="677c0be5-b6ff-4da0-bc9c-446cc1adb084">
|
||||
<usages>
|
||||
<variableUsagesHasUsages Id="8194dfa1-0570-4d34-a346-ef281f46c781">
|
||||
<fbPortUsage Id="da53a1a5-febc-4674-a44f-2e5651cd3d07">
|
||||
<functionBlockPort>
|
||||
<fbPortUsageReferencesFunctionBlockPort Id="8f2570bb-7716-4753-a25f-ebed540e5881">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn2" />
|
||||
</fbPortUsageReferencesFunctionBlockPort>
|
||||
</functionBlockPort>
|
||||
</fbPortUsage>
|
||||
</variableUsagesHasUsages>
|
||||
</usages>
|
||||
</variableUsages>
|
||||
</variableHasTargetUsages>
|
||||
</targetUsages>
|
||||
</variable>
|
||||
</safetyApplicationHasVariables>
|
||||
</variables>
|
||||
</safetyApplication>
|
||||
150
MainSafetyPLC/NotHaltString1/NotHaltString1.sal.diagram
Normal file
150
MainSafetyPLC/NotHaltString1/NotHaltString1.sal.diagram
Normal file
@@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<safetyApplicationLanguageDiagram Crc="3534160807" dslVersion="1.5.0.0" Id="6a903db0-1314-42cd-bc4c-fcb7e44ad0d1" absoluteBounds="0, 0, 11, 9.75" name="TwinSAFE">
|
||||
<safetyApplicationMoniker name="/" />
|
||||
<nestedChildShapes>
|
||||
<networkSwimLane Id="7571e71f-182c-4172-8cf4-2d012c18b176" absoluteBounds="0, 0, 11, 4.125">
|
||||
<networkMoniker name="//Network1" />
|
||||
<nestedChildShapes>
|
||||
<fBDecoupleShape Id="087e3fdc-6120-4372-afda-b09e7c23e6a8" absoluteBounds="2.25, 0.625, 2.75, 3.25">
|
||||
<fBDecoupleMoniker name="//Network1/FBDecouple1" />
|
||||
<relativeChildShapes>
|
||||
<inPortShape Id="27ee5ff7-322a-4c9d-9c42-569b015ae30a" absoluteBounds="2.17, 1.6400000000000001, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="71d3faca-a0d6-4e3c-a15a-cadb38497346" absoluteBounds="2.17, 1.9100000000000001, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="bec2fae0-6593-44f3-b6d2-6b1de0a321e5" absoluteBounds="2.17, 2.18, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn3" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="5b9bc803-1f5a-4625-bdb2-5626ca963d87" absoluteBounds="2.17, 2.45, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn4" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="7236342e-2ab5-41ba-933d-7f76ce2e2535" absoluteBounds="2.17, 2.72, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn5" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="0b574dec-8c37-4426-a740-68cbe90dabef" absoluteBounds="2.17, 2.99, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn6" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="4b2ada7d-594a-471f-873d-8868b34db152" absoluteBounds="2.17, 3.2600000000000002, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn7" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="337aab8f-67e8-4c96-8682-e21c0b88aa43" absoluteBounds="2.17, 3.5300000000000002, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn8" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<outPortShape Id="3046d073-e732-4ac2-bca0-b16a1bbffd6a" absoluteBounds="4.9, 1.6400000000000001, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut1" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="25d10ae8-7ae8-4755-9f3b-4b4227551dec" absoluteBounds="4.9, 1.9100000000000001, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut2" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="aa333d93-15e8-46ea-bf74-8f022ddfe12b" absoluteBounds="4.9, 2.18, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut3" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="49e56f6b-c0cc-48df-8460-8347e5ad6156" absoluteBounds="4.9, 2.45, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut4" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="ebca63de-f53b-448b-af36-b9ea8394f176" absoluteBounds="4.9, 2.72, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut5" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="8f815592-38ab-4fc6-84be-6e536f90faf4" absoluteBounds="4.9, 2.99, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut6" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="8039e4a7-f8ce-4f42-9871-7897326b0ee0" absoluteBounds="4.9, 3.2600000000000002, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut7" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="45c7629c-5fda-41a3-89ca-2a47c46dde69" absoluteBounds="4.9, 3.5300000000000002, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut8" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
</relativeChildShapes>
|
||||
</fBDecoupleShape>
|
||||
</nestedChildShapes>
|
||||
</networkSwimLane>
|
||||
<networkSwimLane Id="eab9c0a7-1dde-415d-a4b5-9db31be1354d" absoluteBounds="0, 4.125, 11, 5.5749999999999993">
|
||||
<networkMoniker name="//Network2" />
|
||||
<nestedChildShapes>
|
||||
<fBEstopShape Id="01c72b15-4632-4618-86ca-2172aadb0184" absoluteBounds="2.125, 5, 3.35, 4.45">
|
||||
<fBEstopMoniker name="//Network2/FBEstop1" />
|
||||
<relativeChildShapes>
|
||||
<inPortShape Id="9631c848-fe4d-47dd-8826-8331c2f8a8b4" absoluteBounds="2.045, 5.745, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/Restart" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="5ce7055d-cbff-499e-a949-c838f2fb86d2" absoluteBounds="2.045, 6.3075, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="b0766009-a770-4b2b-a6f7-4d53d17e4f45" absoluteBounds="2.045, 6.5325000000000006, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="942d4549-ac31-429d-9b17-5ce6e5a39586" absoluteBounds="2.045, 6.8475, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn3" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="3045d2af-4340-4323-a9d8-7f77684167ef" absoluteBounds="2.045, 7.0725, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn4" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="dd20b80e-896a-4443-9eed-18eff5e7f759" absoluteBounds="2.045, 7.3875, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn5" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="37022ebe-009d-4d17-b324-cf949811a597" absoluteBounds="2.045, 7.6125000000000007, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn6" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="a4187ce4-577b-432c-8ec0-90c20f595f2f" absoluteBounds="2.045, 7.9275, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn7" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="cd526d43-8c17-465c-b7d2-d070a14ba128" absoluteBounds="2.045, 8.1525, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn8" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="5fc5b2f6-4e30-43c4-8558-2b766b0892f7" absoluteBounds="2.045, 8.7375, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EDM1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="be73515c-3de3-4839-b987-aba4fe0b768b" absoluteBounds="2.045, 8.9625, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EDM2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<outPortShape Id="5a77006b-bc52-43a3-a3eb-57b5e7e40865" absoluteBounds="5.375, 6.285, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network2/FBEstop1/Error" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="97e3206d-f5ca-442f-910a-9936c59a58b4" absoluteBounds="5.375, 8.175, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network2/FBEstop1/EStopOut" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="72763423-c0e4-4ada-a6c7-111949a1de86" absoluteBounds="5.375, 8.445, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network2/FBEstop1/EStopDelOut" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<paramPortShape Id="1fc969ee-8a2f-49f0-adfb-d8778826c428" absoluteBounds="3.695, 8.275, 0.7, 0.2">
|
||||
<parameterPortMoniker name="//Network2/FBEstop1/Delay Time (ms)" />
|
||||
<relativeChildShapes />
|
||||
</paramPortShape>
|
||||
</relativeChildShapes>
|
||||
</fBEstopShape>
|
||||
</nestedChildShapes>
|
||||
</networkSwimLane>
|
||||
</nestedChildShapes>
|
||||
</safetyApplicationLanguageDiagram>
|
||||
224
MainSafetyPLC/NotHaltString2/Alias Devices/NotHAltInterface.sds
Normal file
224
MainSafetyPLC/NotHaltString2/Alias Devices/NotHAltInterface.sds
Normal file
@@ -0,0 +1,224 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SafetyDeviceDesc Crc="4239964616" FileFormatVersion="1.9">
|
||||
<AliasDeviceType>
|
||||
<Type>16</Type>
|
||||
<SubType>0</SubType>
|
||||
<VendorId>0</VendorId>
|
||||
</AliasDeviceType>
|
||||
<SDSID>27</SDSID>
|
||||
<SafetyAliasDevice>
|
||||
<ObjectId>0</ObjectId>
|
||||
<LinkingMode>Manual</LinkingMode>
|
||||
<ConnectionId>27</ConnectionId>
|
||||
<ConnectionMode>master</ConnectionMode>
|
||||
<ConnectionType>FSoE</ConnectionType>
|
||||
<MapDiag>false</MapDiag>
|
||||
<MapInputs>false</MapInputs>
|
||||
<MapOutputs>false</MapOutputs>
|
||||
<MapState>false</MapState>
|
||||
<ModuleFaultIsComErr>false</ModuleFaultIsComErr>
|
||||
<SafeAddress>101</SafeAddress>
|
||||
<Watchdog>100</Watchdog>
|
||||
<ComErrAck Type="Unset" />
|
||||
<Messages InputMessageSize="6" OutputMessageSize="6" Tc2ConnectionType="190853202" CustomFSoEConnectionId="0cd2d33d-0aa6-477d-a159-9ea1f745f3fb">
|
||||
<IO>
|
||||
<Name>FSoE Cmd</Name>
|
||||
<DataType>USINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[0]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>8</BitOffsMessage>
|
||||
<BitOffsData>0</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[1]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>9</BitOffsMessage>
|
||||
<BitOffsData>1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[2]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>10</BitOffsMessage>
|
||||
<BitOffsData>2</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[3]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>11</BitOffsMessage>
|
||||
<BitOffsData>3</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[4]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>12</BitOffsMessage>
|
||||
<BitOffsData>4</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[5]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>13</BitOffsMessage>
|
||||
<BitOffsData>5</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[6]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>14</BitOffsMessage>
|
||||
<BitOffsData>6</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[7]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>15</BitOffsMessage>
|
||||
<BitOffsData>7</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE CRC_0</Name>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>16</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE ConnID</Name>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>32</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Cmd</Name>
|
||||
<DataType>USINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[0]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>8</BitOffsMessage>
|
||||
<BitOffsData>0</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[1]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>9</BitOffsMessage>
|
||||
<BitOffsData>1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[2]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>10</BitOffsMessage>
|
||||
<BitOffsData>2</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[3]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>11</BitOffsMessage>
|
||||
<BitOffsData>3</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[4]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>12</BitOffsMessage>
|
||||
<BitOffsData>4</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[5]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>13</BitOffsMessage>
|
||||
<BitOffsData>5</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[6]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>14</BitOffsMessage>
|
||||
<BitOffsData>6</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>Safe Data Byte 0[7]</Name>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>15</BitOffsMessage>
|
||||
<BitOffsData>7</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE CRC_0</Name>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>16</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE ConnID</Name>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>32</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
</Messages>
|
||||
</SafetyAliasDevice>
|
||||
</SafetyDeviceDesc>
|
||||
297
MainSafetyPLC/NotHaltString2/NotHaltString2.sal
Normal file
297
MainSafetyPLC/NotHaltString2/NotHaltString2.sal
Normal file
@@ -0,0 +1,297 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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">
|
||||
<functionBlocks>
|
||||
<networkHasFunctionBlocks Id="2ef70ce4-0cce-4d22-9310-bd07e33a5dc6">
|
||||
<fBDecouple Id="4682813f-c7c8-43ea-ae36-871adcf098e7" name="FBDecouple1" instanceName="FBDecouple1" orderOfExecution="1" mapState="false" mapDiag="false" functionName="safeDecouple">
|
||||
<inPorts>
|
||||
<functioBlockHasInPorts Id="6f10205f-3b0b-4b3b-a41f-44b8827d9782">
|
||||
<inPort Id="c7fc83ba-0893-453e-abca-62c3026cd20b" name="DecIn1" portName="DecIn1" portNum="3" objectIndex="8" varId="5" filter="2" portDataType="1" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="ebe28ca3-087b-4b14-8478-2b44a73ecbf2">
|
||||
<fbPortGlobalVariableReference Id="262bc579-50d2-422d-822a-7c26187c8bb6" variableId="b61d0fc0-cc9f-462c-87a0-7ca3a2a7ddd0" lastKnownPath="GVL1.xNotHaltDelayOk" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="fcf16e24-b362-45ec-b195-a52ffc42c782">
|
||||
<inPort Id="7f9c17f3-1205-4089-867b-504012d0c479" name="DecIn2" portName="DecIn2" portNum="4" objectIndex="9" varId="6" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="bab5bf14-027e-45fa-b905-6b6db8874e3c">
|
||||
<inPort Id="c135b89f-481c-473f-b82c-ac947641dd56" name="DecIn3" portName="DecIn3" portNum="5" objectIndex="10" varId="7" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="4ed1ebac-5a03-4845-a5c0-454945ad4433">
|
||||
<inPort Id="435e4b65-e3b6-44df-9e3a-9ed6eebc8594" name="DecIn4" portName="DecIn4" portNum="6" objectIndex="11" varId="8" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="7a60293b-202f-447b-b82e-6c105d5e82bb">
|
||||
<inPort Id="4cf424eb-cd48-4329-a5b1-1ac17145497b" name="DecIn5" portName="DecIn5" portNum="7" objectIndex="12" varId="9" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="772fafb7-ae8b-4e15-9996-330964f0d283">
|
||||
<inPort Id="156c0159-590f-46b5-97b8-26cee02a01e7" name="DecIn6" portName="DecIn6" portNum="8" objectIndex="13" varId="10" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="4d6ea89c-fd52-487c-af91-ddbaae361630">
|
||||
<inPort Id="e3da6603-c5be-47ca-96fb-8a41a3fdbe88" name="DecIn7" portName="DecIn7" portNum="9" objectIndex="14" varId="11" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="eac9bfba-e20b-431c-b968-01bdff5795bb">
|
||||
<inPort Id="3756bfce-c94a-487b-ac95-6492bad81191" name="DecIn8" portName="DecIn8" portNum="10" objectIndex="15" varId="12" filter="2" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
</inPorts>
|
||||
<outPorts>
|
||||
<functionBlockHasOutPorts Id="20a0aef9-49d7-420e-8b05-df50b5e3c357">
|
||||
<outPort Id="56b1f05f-dd7d-48bb-a88c-15e9fef61d7f" name="DecOut1" portName="DecOut1" portNum="3" objectIndex="8" varId="17" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="8ce0bd6a-e547-4606-9001-e8d07ccc2757">
|
||||
<outPort Id="4d2f21f7-5d21-44dd-9191-2ba857cc3030" name="DecOut2" portName="DecOut2" portNum="4" objectIndex="9" varId="18" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="98ce9987-b0ec-462b-a36f-864e9a5cc0a2">
|
||||
<outPort Id="3bf9fb05-fae0-4aad-a497-1171c4ab450a" name="DecOut3" portName="DecOut3" portNum="5" objectIndex="10" varId="19" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="f5e38f30-127a-452a-a5a5-34cc9174bfc5">
|
||||
<outPort Id="60c59950-693a-4c2f-a994-6bf4449d73fc" name="DecOut4" portName="DecOut4" portNum="6" objectIndex="11" varId="20" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="643586c1-4df6-4dc0-8c8f-6275ad0ebca7">
|
||||
<outPort Id="e322da0b-2553-495b-9086-b603fd99a972" name="DecOut5" portName="DecOut5" portNum="7" objectIndex="12" varId="21" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="0f65e86d-f484-428f-a5a7-996141fb3203">
|
||||
<outPort Id="988f194c-b5cd-4e6c-acb2-b6a1f4989db1" name="DecOut6" portName="DecOut6" portNum="8" objectIndex="13" varId="22" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="bf247b21-e609-4853-843a-24b0de9d76a9">
|
||||
<outPort Id="b01cabb2-1ee3-4ab1-a385-7ed21938c5a5" name="DecOut7" portName="DecOut7" portNum="9" objectIndex="14" varId="23" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="0d9e0a91-b8d9-4115-a401-24fd5dc872e1">
|
||||
<outPort Id="49a8533d-d76e-4bc9-8c54-7cf1f1b63562" name="DecOut8" portName="DecOut8" portNum="10" objectIndex="15" varId="24" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
</outPorts>
|
||||
</fBDecouple>
|
||||
</networkHasFunctionBlocks>
|
||||
</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">
|
||||
<twinSAFEGroupAliasPort Id="fe721ea0-ced8-4eef-9bca-ad67f4c1932f" name="RunStop" sdsId="0" channelId="0" portName="RunStop" functionId="0">
|
||||
<groupPortGlobalVariableReferences>
|
||||
<twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences Id="b9e4d546-3af3-49f2-93d0-ab351c506937">
|
||||
<groupPortGlobalVariableReference Id="acfaaf68-8ea8-4b5d-8ae2-0f7b3093bf77" variableId="6d45e67f-50df-4b61-a9d0-03f285b6a1bf" lastKnownPath="GVL1.xRun" />
|
||||
</twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences>
|
||||
</groupPortGlobalVariableReferences>
|
||||
</twinSAFEGroupAliasPort>
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="87cbc1bd-5d1a-47cf-ac3e-a83c09ac6d60">
|
||||
<twinSAFEGroupAliasPort Id="65f2e47b-7af5-4a83-8ef8-23221bf7e937" name="ErrAck" sdsId="0" channelId="0" portName="ErrAck" functionId="0">
|
||||
<groupPortGlobalVariableReferences>
|
||||
<twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences Id="8f3b4e7b-0dc7-4055-b66c-65e216eecd1b">
|
||||
<groupPortGlobalVariableReference Id="d7686409-8d3d-4090-9c73-9ae1a9474744" variableId="9f1c118d-b0f2-4f34-abb9-b4b05f111bfd" lastKnownPath="GVL1.xErrorAck" />
|
||||
</twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences>
|
||||
</groupPortGlobalVariableReferences>
|
||||
</twinSAFEGroupAliasPort>
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="d22d399a-fb80-4370-86a8-b0533a46970e">
|
||||
<twinSAFEGroupAliasPort Id="3405c3a2-0040-4899-8556-b3d01bf5600b" name="ModuleFault" sdsId="0" channelId="0" portName="ModuleFault" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="354d2290-5b8e-4f88-8caa-2acc20734090">
|
||||
<twinSAFEGroupAliasPort Id="21cc61a8-9338-4f9b-b97a-0f248673cedb" name="FbErr" sdsId="0" channelId="0" portName="FbErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="73f05efd-cf21-4f1a-9917-66e626397dbd">
|
||||
<twinSAFEGroupAliasPort Id="91162b82-a77d-4556-9ca6-43c1f9306436" name="ComErr" sdsId="0" channelId="0" portName="ComErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="a2ab7c66-0513-4ea0-80f4-19adbd894a3f">
|
||||
<twinSAFEGroupAliasPort Id="6b24cdc6-7a0e-461d-9536-98f1d37b5445" name="OutErr" sdsId="0" channelId="0" portName="OutErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="9e91c1ba-8536-4236-8110-3f3c2e9c0bf1">
|
||||
<twinSAFEGroupAliasPort Id="bbc00bc3-fb54-4b5d-ac76-f4d0e98c41f1" name="OtherErr" sdsId="0" channelId="0" portName="OtherErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="f721bfcc-943b-4d25-8d82-7d48715d8945">
|
||||
<twinSAFEGroupAliasPort Id="9da4c271-57aa-496e-82c8-05854edd4f25" name="ComStartup" sdsId="0" channelId="0" portName="ComStartup" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="d091ebf8-93d8-48c7-9f52-262c69ac2e8d">
|
||||
<twinSAFEGroupAliasPort Id="4a195f39-7962-4c14-861b-c06ce9e35be7" name="FbDeactive" sdsId="0" channelId="0" portName="FbDeactive" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="a190e5de-f683-4df4-b771-e075e8d4901e">
|
||||
<twinSAFEGroupAliasPort Id="654a91ed-20c6-4a02-bc1e-0aeb2bcc5b5a" name="FbRun" sdsId="0" channelId="0" portName="FbRun" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="bf67aced-12e0-45f0-9330-2ff0804fe58e">
|
||||
<twinSAFEGroupAliasPort Id="b144b66f-7128-4d41-92a4-9d6a721783e6" name="InRun" sdsId="0" channelId="0" portName="InRun" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
</twinSAFEGroupAliasPorts>
|
||||
<variables>
|
||||
<safetyApplicationHasVariables Id="3042ae34-06e9-4cb2-be42-08e6c32e2d92">
|
||||
<variable Id="4320910a-a534-4491-a6be-a3f4c4c9518e" name="NotHaltOk" isLocal="false">
|
||||
<sourceUsages>
|
||||
<variableHasSourceUsages Id="931ddee3-4d15-4333-97ea-6545d43ec126">
|
||||
<variableUsages Id="be2f9a83-4c5d-441c-8b82-02ca88f1177a">
|
||||
<usages>
|
||||
<variableUsagesHasUsages Id="3524328f-2468-45a8-bbf3-175eb9b39ceb">
|
||||
<fbPortUsage Id="bf55b61a-312c-47f8-a67d-2f43cace2cca">
|
||||
<functionBlockPort>
|
||||
<fbPortUsageReferencesFunctionBlockPort Id="6289bd84-5290-4437-b104-9574d5336820">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut1" />
|
||||
</fbPortUsageReferencesFunctionBlockPort>
|
||||
</functionBlockPort>
|
||||
</fbPortUsage>
|
||||
</variableUsagesHasUsages>
|
||||
</usages>
|
||||
</variableUsages>
|
||||
</variableHasSourceUsages>
|
||||
</sourceUsages>
|
||||
<targetUsages>
|
||||
<variableHasTargetUsages Id="a715453b-2320-4ab0-abdd-dbb2e404e90f">
|
||||
<variableUsages Id="08e64d19-bcf2-4fd3-8579-1a0ebdc28f7b">
|
||||
<usages>
|
||||
<variableUsagesHasUsages Id="7951cb22-42d4-4997-8888-71ccc55efa33">
|
||||
<aliasDeviceIoUsage Id="d9bdb4f6-424c-488e-99e9-be51c998e7c4" sdsId="27" channelId="1" functionId="1327546135" />
|
||||
</variableUsagesHasUsages>
|
||||
</usages>
|
||||
</variableUsages>
|
||||
</variableHasTargetUsages>
|
||||
</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>
|
||||
150
MainSafetyPLC/NotHaltString2/NotHaltString2.sal.diagram
Normal file
150
MainSafetyPLC/NotHaltString2/NotHaltString2.sal.diagram
Normal file
@@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<safetyApplicationLanguageDiagram Crc="2603887228" dslVersion="1.5.0.0" Id="75abf0c9-6655-4c32-b755-1c2819184b0e" absoluteBounds="0, 0, 11, 10.125" name="TwinSAFE">
|
||||
<safetyApplicationMoniker name="/" />
|
||||
<nestedChildShapes>
|
||||
<networkSwimLane Id="a6f23b0f-bac6-4260-99fb-5a726f230abd" absoluteBounds="0, 0, 11, 4.125">
|
||||
<networkMoniker name="//Network1" />
|
||||
<nestedChildShapes>
|
||||
<fBDecoupleShape Id="423c000b-6cfe-4908-b9f2-22e6e583385f" absoluteBounds="1.625, 0.625, 2.75, 3.25">
|
||||
<fBDecoupleMoniker name="//Network1/FBDecouple1" />
|
||||
<relativeChildShapes>
|
||||
<inPortShape Id="32531cd1-2f7a-4f3d-8fcc-e2fd662b92ab" absoluteBounds="1.545, 1.6400000000000001, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="06125b64-dca3-4cf0-b9d7-3e5f765ffcd0" absoluteBounds="1.545, 1.9100000000000001, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="83be659c-07f7-49ad-92a5-d5eb93e6a9a7" absoluteBounds="1.545, 2.18, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn3" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="a16afc9b-b778-47c2-a0e8-d68734245171" absoluteBounds="1.545, 2.45, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn4" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="487bcee0-c3c7-4d39-935b-ac733fd9dad2" absoluteBounds="1.545, 2.72, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn5" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="fb711d6b-b98a-469a-9c2f-2c8eed60c6b7" absoluteBounds="1.545, 2.99, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn6" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="61aa4e26-6270-43a4-94de-31b7914b9c72" absoluteBounds="1.545, 3.2600000000000002, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn7" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="93903134-c40c-44c8-9bf9-e179ecc6851e" absoluteBounds="1.545, 3.5300000000000002, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBDecouple1/DecIn8" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<outPortShape Id="29e4ee95-2173-439a-ae46-558aaf90c62d" absoluteBounds="4.275, 1.6400000000000001, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut1" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="80300695-9f82-4168-ba78-303b321482ff" absoluteBounds="4.275, 1.9100000000000001, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut2" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="b6239a82-6f36-4ee8-be70-495e0c85504f" absoluteBounds="4.275, 2.18, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut3" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="b00c08a5-f76c-4ec0-9cfb-807ad1ca0fb0" absoluteBounds="4.275, 2.45, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut4" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="167be948-b8d1-468b-ac39-d1b4702a99d7" absoluteBounds="4.275, 2.72, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut5" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="41fd1f68-d53f-4b8e-a189-897d82aca72d" absoluteBounds="4.275, 2.99, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut6" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="70c3f132-3e14-4451-8f6b-136674d47991" absoluteBounds="4.275, 3.2600000000000002, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut7" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="09e87cde-4694-47cb-bbe0-f6f71dd71910" absoluteBounds="4.275, 3.5300000000000002, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBDecouple1/DecOut8" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
</relativeChildShapes>
|
||||
</fBDecoupleShape>
|
||||
</nestedChildShapes>
|
||||
</networkSwimLane>
|
||||
<networkSwimLane Id="b3be1f37-8d37-45ba-bdd8-8aac828903b1" absoluteBounds="0, 4.125, 11, 5.9499999999999993">
|
||||
<networkMoniker name="//Network2" />
|
||||
<nestedChildShapes>
|
||||
<fBEstopShape Id="609536c8-ac74-4a03-b4cd-f5e0d5b66de5" absoluteBounds="1.75, 5.375, 3.35, 4.45">
|
||||
<fBEstopMoniker name="//Network2/FBEstop1" />
|
||||
<relativeChildShapes>
|
||||
<inPortShape Id="55686db2-6d82-490d-8a1a-3661e07d0561" absoluteBounds="1.67, 6.12, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/Restart" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="d7eb55de-40a4-4a81-85b7-453f83d19828" absoluteBounds="1.67, 6.6825, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="3ca6dec3-e1e2-4617-b5bb-7ecb63be0d9f" absoluteBounds="1.67, 6.9075000000000006, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="b8169fa3-4f0c-403d-93c1-6b574ce1cf2e" absoluteBounds="1.67, 7.2225, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn3" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="d619437a-f48e-44a0-88b7-fbaf95545f08" absoluteBounds="1.67, 7.4475, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn4" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="0e3f7d8a-466e-4413-a78b-715d246076e5" absoluteBounds="1.67, 7.7625, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn5" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="cef3a02d-ce50-4f19-9c5c-6209695ad648" absoluteBounds="1.67, 7.9875000000000007, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn6" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="529f3b2d-b13e-48c8-ac6d-d302a26709ff" absoluteBounds="1.67, 8.3025, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn7" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="a44f8346-ed44-40e6-af41-995553a80f44" absoluteBounds="1.67, 8.5275, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EStopIn8" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="80d5480b-8140-48ec-814b-c79cd5fc8a1a" absoluteBounds="1.67, 9.1125, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EDM1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="92cc5056-e57e-4dcd-85b3-057ee875269c" absoluteBounds="1.67, 9.3375, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network2/FBEstop1/EDM2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<outPortShape Id="12040f4b-00ed-478d-81d8-be6ef865a1b6" absoluteBounds="5, 6.66, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network2/FBEstop1/Error" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="9f30934f-03fb-42f1-a914-40e01b0e59cb" absoluteBounds="5, 8.55, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network2/FBEstop1/EStopOut" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="387160f3-0155-4f0f-9610-398a10ea1fe1" absoluteBounds="5, 8.82, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network2/FBEstop1/EStopDelOut" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<paramPortShape Id="30e23c8b-9bfe-41f0-aab2-f66c17c1d61d" absoluteBounds="3.32, 8.65, 0.7, 0.2">
|
||||
<parameterPortMoniker name="//Network2/FBEstop1/Delay Time (ms)" />
|
||||
<relativeChildShapes />
|
||||
</paramPortShape>
|
||||
</relativeChildShapes>
|
||||
</fBEstopShape>
|
||||
</nestedChildShapes>
|
||||
</networkSwimLane>
|
||||
</nestedChildShapes>
|
||||
</safetyApplicationLanguageDiagram>
|
||||
@@ -0,0 +1,442 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SafetyDeviceDesc Crc="3073472346" FileFormatVersion="1.8">
|
||||
<AliasDeviceType>
|
||||
<Type>4</Type>
|
||||
<SubType>17827710</SubType>
|
||||
<VendorId>2</VendorId>
|
||||
</AliasDeviceType>
|
||||
<SDSID>14</SDSID>
|
||||
<SafetyAliasDevice>
|
||||
<ObjectId>50921473</ObjectId>
|
||||
<LinkingMode>Automatic</LinkingMode>
|
||||
<ConnectionId>14</ConnectionId>
|
||||
<ConnectionMode>master</ConnectionMode>
|
||||
<ConnectionType>FSoE</ConnectionType>
|
||||
<MapDiag>false</MapDiag>
|
||||
<MapInputs>false</MapInputs>
|
||||
<MapOutputs>false</MapOutputs>
|
||||
<MapState>false</MapState>
|
||||
<ModuleFaultIsComErr>false</ModuleFaultIsComErr>
|
||||
<SafeAddress>2</SafeAddress>
|
||||
<Watchdog>100</Watchdog>
|
||||
<ComErrAck Type="Unset" />
|
||||
<Params>
|
||||
<Param Index="4120" SubIndex="1">02000000</Param>
|
||||
<Param Index="4320" SubIndex="1">0000</Param>
|
||||
<Param Index="4320" SubIndex="2">0000</Param>
|
||||
<Param Index="5632" SubIndex="0">0B</Param>
|
||||
<Param Index="5632" SubIndex="1">08018070</Param>
|
||||
<Param Index="5632" SubIndex="2">01010270</Param>
|
||||
<Param Index="5632" SubIndex="3">01011270</Param>
|
||||
<Param Index="5632" SubIndex="4">01012270</Param>
|
||||
<Param Index="5632" SubIndex="5">01013270</Param>
|
||||
<Param Index="5632" SubIndex="6">01014270</Param>
|
||||
<Param Index="5632" SubIndex="7">01015270</Param>
|
||||
<Param Index="5632" SubIndex="8">01016270</Param>
|
||||
<Param Index="5632" SubIndex="9">01017270</Param>
|
||||
<Param Index="5632" SubIndex="10">10038070</Param>
|
||||
<Param Index="5632" SubIndex="11">10028070</Param>
|
||||
<Param Index="6656" SubIndex="0">13</Param>
|
||||
<Param Index="6656" SubIndex="1">08018060</Param>
|
||||
<Param Index="6656" SubIndex="2">01010160</Param>
|
||||
<Param Index="6656" SubIndex="3">01010260</Param>
|
||||
<Param Index="6656" SubIndex="4">01011160</Param>
|
||||
<Param Index="6656" SubIndex="5">01011260</Param>
|
||||
<Param Index="6656" SubIndex="6">01012160</Param>
|
||||
<Param Index="6656" SubIndex="7">01012260</Param>
|
||||
<Param Index="6656" SubIndex="8">01013160</Param>
|
||||
<Param Index="6656" SubIndex="9">01013260</Param>
|
||||
<Param Index="6656" SubIndex="10">01014160</Param>
|
||||
<Param Index="6656" SubIndex="11">01014260</Param>
|
||||
<Param Index="6656" SubIndex="12">01015160</Param>
|
||||
<Param Index="6656" SubIndex="13">01015260</Param>
|
||||
<Param Index="6656" SubIndex="14">01016160</Param>
|
||||
<Param Index="6656" SubIndex="15">01016260</Param>
|
||||
<Param Index="6656" SubIndex="16">01017160</Param>
|
||||
<Param Index="6656" SubIndex="17">01017260</Param>
|
||||
<Param Index="6656" SubIndex="18">10038060</Param>
|
||||
<Param Index="6656" SubIndex="19">10028060</Param>
|
||||
<Param Index="32768" SubIndex="1">00</Param>
|
||||
<Param Index="32768" SubIndex="2">01</Param>
|
||||
<Param Index="32768" SubIndex="4">01</Param>
|
||||
<Param Index="32768" SubIndex="5">01</Param>
|
||||
<Param Index="32769" SubIndex="1">0A00</Param>
|
||||
<Param Index="32769" SubIndex="2">0200</Param>
|
||||
<Param Index="32784" SubIndex="1">00</Param>
|
||||
<Param Index="32784" SubIndex="2">01</Param>
|
||||
<Param Index="32784" SubIndex="4">01</Param>
|
||||
<Param Index="32784" SubIndex="5">01</Param>
|
||||
<Param Index="32785" SubIndex="1">0A00</Param>
|
||||
<Param Index="32785" SubIndex="2">0200</Param>
|
||||
<Param Index="32800" SubIndex="1">00</Param>
|
||||
<Param Index="32800" SubIndex="2">01</Param>
|
||||
<Param Index="32800" SubIndex="4">01</Param>
|
||||
<Param Index="32800" SubIndex="5">01</Param>
|
||||
<Param Index="32801" SubIndex="1">0A00</Param>
|
||||
<Param Index="32801" SubIndex="2">0200</Param>
|
||||
<Param Index="32816" SubIndex="1">00</Param>
|
||||
<Param Index="32816" SubIndex="2">01</Param>
|
||||
<Param Index="32816" SubIndex="4">01</Param>
|
||||
<Param Index="32816" SubIndex="5">01</Param>
|
||||
<Param Index="32817" SubIndex="1">0A00</Param>
|
||||
<Param Index="32817" SubIndex="2">0200</Param>
|
||||
<Param Index="32832" SubIndex="1">00</Param>
|
||||
<Param Index="32832" SubIndex="2">01</Param>
|
||||
<Param Index="32832" SubIndex="4">01</Param>
|
||||
<Param Index="32832" SubIndex="5">01</Param>
|
||||
<Param Index="32833" SubIndex="1">0A00</Param>
|
||||
<Param Index="32833" SubIndex="2">0200</Param>
|
||||
<Param Index="32848" SubIndex="1">00</Param>
|
||||
<Param Index="32848" SubIndex="2">01</Param>
|
||||
<Param Index="32848" SubIndex="4">01</Param>
|
||||
<Param Index="32848" SubIndex="5">01</Param>
|
||||
<Param Index="32849" SubIndex="1">0A00</Param>
|
||||
<Param Index="32849" SubIndex="2">0200</Param>
|
||||
<Param Index="32864" SubIndex="1">00</Param>
|
||||
<Param Index="32864" SubIndex="2">01</Param>
|
||||
<Param Index="32864" SubIndex="4">01</Param>
|
||||
<Param Index="32864" SubIndex="5">01</Param>
|
||||
<Param Index="32865" SubIndex="1">0A00</Param>
|
||||
<Param Index="32865" SubIndex="2">0200</Param>
|
||||
<Param Index="32880" SubIndex="1">00</Param>
|
||||
<Param Index="32880" SubIndex="2">01</Param>
|
||||
<Param Index="32880" SubIndex="4">01</Param>
|
||||
<Param Index="32880" SubIndex="5">01</Param>
|
||||
<Param Index="32881" SubIndex="1">0A00</Param>
|
||||
<Param Index="32881" SubIndex="2">0200</Param>
|
||||
<Param Index="61520" SubIndex="1">7E071001</Param>
|
||||
<Messages>
|
||||
<IO>
|
||||
<Name>FSoE Command</Name>
|
||||
<Index>28800</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>USINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 1.ErrAck</Name>
|
||||
<Index>28674</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>8</BitOffsMessage>
|
||||
<BitOffsData>0</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 2.ErrAck</Name>
|
||||
<Index>28690</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>9</BitOffsMessage>
|
||||
<BitOffsData>1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 3.ErrAck</Name>
|
||||
<Index>28706</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>10</BitOffsMessage>
|
||||
<BitOffsData>2</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 4.ErrAck</Name>
|
||||
<Index>28722</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>11</BitOffsMessage>
|
||||
<BitOffsData>3</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 5.ErrAck</Name>
|
||||
<Index>28738</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>12</BitOffsMessage>
|
||||
<BitOffsData>4</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 6.ErrAck</Name>
|
||||
<Index>28754</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>13</BitOffsMessage>
|
||||
<BitOffsData>5</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 7.ErrAck</Name>
|
||||
<Index>28770</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>14</BitOffsMessage>
|
||||
<BitOffsData>6</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 8.ErrAck</Name>
|
||||
<Index>28786</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>15</BitOffsMessage>
|
||||
<BitOffsData>7</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE CRC 000</Name>
|
||||
<Index>28800</Index>
|
||||
<SubIndex>3</SubIndex>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>16</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Connection ID</Name>
|
||||
<Index>28800</Index>
|
||||
<SubIndex>2</SubIndex>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>32</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Command</Name>
|
||||
<Index>24704</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>USINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 1.Input</Name>
|
||||
<Index>24577</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>8</BitOffsMessage>
|
||||
<BitOffsData>0</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 1.Module Fault</Name>
|
||||
<Index>24578</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>9</BitOffsMessage>
|
||||
<BitOffsData>1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 2.Input</Name>
|
||||
<Index>24593</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>10</BitOffsMessage>
|
||||
<BitOffsData>2</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 2.Module Fault</Name>
|
||||
<Index>24594</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>11</BitOffsMessage>
|
||||
<BitOffsData>3</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 3.Input</Name>
|
||||
<Index>24609</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>12</BitOffsMessage>
|
||||
<BitOffsData>4</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 3.Module Fault</Name>
|
||||
<Index>24610</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>13</BitOffsMessage>
|
||||
<BitOffsData>5</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 4.Input</Name>
|
||||
<Index>24625</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>14</BitOffsMessage>
|
||||
<BitOffsData>6</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 4.Module Fault</Name>
|
||||
<Index>24626</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>15</BitOffsMessage>
|
||||
<BitOffsData>7</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 5.Input</Name>
|
||||
<Index>24641</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>16</BitOffsMessage>
|
||||
<BitOffsData>8</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 5.Module Fault</Name>
|
||||
<Index>24642</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>17</BitOffsMessage>
|
||||
<BitOffsData>9</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 6.Input</Name>
|
||||
<Index>24657</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>18</BitOffsMessage>
|
||||
<BitOffsData>10</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 6.Module Fault</Name>
|
||||
<Index>24658</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>19</BitOffsMessage>
|
||||
<BitOffsData>11</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 7.Input</Name>
|
||||
<Index>24673</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>20</BitOffsMessage>
|
||||
<BitOffsData>12</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 7.Module Fault</Name>
|
||||
<Index>24674</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>21</BitOffsMessage>
|
||||
<BitOffsData>13</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 8.Input</Name>
|
||||
<Index>24689</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>22</BitOffsMessage>
|
||||
<BitOffsData>14</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSIN Module 8.Module Fault</Name>
|
||||
<Index>24690</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>23</BitOffsMessage>
|
||||
<BitOffsData>15</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE CRC 000</Name>
|
||||
<Index>24704</Index>
|
||||
<SubIndex>3</SubIndex>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>24</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Connection ID</Name>
|
||||
<Index>24704</Index>
|
||||
<SubIndex>2</SubIndex>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>40</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
</Messages>
|
||||
</Params>
|
||||
</SafetyAliasDevice>
|
||||
</SafetyDeviceDesc>
|
||||
@@ -0,0 +1,166 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SafetyDeviceDesc Crc="1209998069" FileFormatVersion="1.8">
|
||||
<AliasDeviceType>
|
||||
<Type>4</Type>
|
||||
<SubType>290</SubType>
|
||||
<VendorId>2</VendorId>
|
||||
</AliasDeviceType>
|
||||
<SDSID>13</SDSID>
|
||||
<SafetyAliasDevice>
|
||||
<ObjectId>50921475</ObjectId>
|
||||
<LinkingMode>Automatic</LinkingMode>
|
||||
<ConnectionId>13</ConnectionId>
|
||||
<ConnectionMode>master</ConnectionMode>
|
||||
<ConnectionType>FSoE</ConnectionType>
|
||||
<MapDiag>false</MapDiag>
|
||||
<MapInputs>false</MapInputs>
|
||||
<MapOutputs>false</MapOutputs>
|
||||
<MapState>false</MapState>
|
||||
<ModuleFaultIsComErr>false</ModuleFaultIsComErr>
|
||||
<SafeAddress>3</SafeAddress>
|
||||
<Watchdog>100</Watchdog>
|
||||
<ComErrAck Type="Unset" />
|
||||
<Params>
|
||||
<Param Index="4320" SubIndex="1">0000</Param>
|
||||
<Param Index="4320" SubIndex="2">0000</Param>
|
||||
<Param Index="32768" SubIndex="1">00</Param>
|
||||
<Param Index="32768" SubIndex="2">01</Param>
|
||||
<Param Index="32768" SubIndex="3">01</Param>
|
||||
<Param Index="32768" SubIndex="4">00</Param>
|
||||
<Messages>
|
||||
<IO>
|
||||
<Name>FSoE Master CMD</Name>
|
||||
<Index>28672</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>USINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>OutputChannel1</Name>
|
||||
<Index>28673</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>8</BitOffsMessage>
|
||||
<BitOffsData>0</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>OutputChannel2</Name>
|
||||
<Index>28673</Index>
|
||||
<SubIndex>2</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>9</BitOffsMessage>
|
||||
<BitOffsData>1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>OutputChannel3</Name>
|
||||
<Index>28673</Index>
|
||||
<SubIndex>3</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>10</BitOffsMessage>
|
||||
<BitOffsData>2</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>OutputChannel4</Name>
|
||||
<Index>28673</Index>
|
||||
<SubIndex>4</SubIndex>
|
||||
<DataType>BIT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffsMessage>11</BitOffsMessage>
|
||||
<BitOffsData>3</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name />
|
||||
<Index>0</Index>
|
||||
<SubIndex>0</SubIndex>
|
||||
<DataType />
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>4</BitSize>
|
||||
<BitOffsMessage>12</BitOffsMessage>
|
||||
<BitOffsData>4</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Master CRC_0</Name>
|
||||
<Index>28672</Index>
|
||||
<SubIndex>3</SubIndex>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>16</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Master ConnID</Name>
|
||||
<Index>28672</Index>
|
||||
<SubIndex>2</SubIndex>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>Out</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>32</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Slave CMD</Name>
|
||||
<Index>24576</Index>
|
||||
<SubIndex>1</SubIndex>
|
||||
<DataType>USINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name />
|
||||
<Index>0</Index>
|
||||
<SubIndex>0</SubIndex>
|
||||
<DataType />
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>SafetySil3</SafetyType>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffsMessage>8</BitOffsMessage>
|
||||
<BitOffsData>0</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Slave CRC_0</Name>
|
||||
<Index>24576</Index>
|
||||
<SubIndex>3</SubIndex>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>16</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
<IO>
|
||||
<Name>FSoE Slave ConnID</Name>
|
||||
<Index>24576</Index>
|
||||
<SubIndex>2</SubIndex>
|
||||
<DataType>UINT</DataType>
|
||||
<Direction>In</Direction>
|
||||
<SafetyType>ProtocolData</SafetyType>
|
||||
<BitSize>16</BitSize>
|
||||
<BitOffsMessage>32</BitOffsMessage>
|
||||
<BitOffsData>-1</BitOffsData>
|
||||
</IO>
|
||||
</Messages>
|
||||
</Params>
|
||||
</SafetyAliasDevice>
|
||||
</SafetyDeviceDesc>
|
||||
18
MainSafetyPLC/Not_Halt_Global/Alias Devices/EStopOk.sds
Normal file
18
MainSafetyPLC/Not_Halt_Global/Alias Devices/EStopOk.sds
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SafetyDeviceDesc Crc="69742344" FileFormatVersion="1.8">
|
||||
<AliasDeviceType>
|
||||
<Type>1</Type>
|
||||
<SubType>2</SubType>
|
||||
<VendorId>0</VendorId>
|
||||
</AliasDeviceType>
|
||||
<SDSID>18</SDSID>
|
||||
<StandardAliasDevice>
|
||||
<LinkingMode>Manual</LinkingMode>
|
||||
<IO>
|
||||
<Name>Out</Name>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<DataType>BIT</DataType>
|
||||
<BitSize>1</BitSize>
|
||||
</IO>
|
||||
</StandardAliasDevice>
|
||||
</SafetyDeviceDesc>
|
||||
18
MainSafetyPLC/Not_Halt_Global/Alias Devices/ErrorAck.sds
Normal file
18
MainSafetyPLC/Not_Halt_Global/Alias Devices/ErrorAck.sds
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SafetyDeviceDesc Crc="2151581952" FileFormatVersion="1.8">
|
||||
<AliasDeviceType>
|
||||
<Type>1</Type>
|
||||
<SubType>1</SubType>
|
||||
<VendorId>0</VendorId>
|
||||
</AliasDeviceType>
|
||||
<SDSID>23</SDSID>
|
||||
<StandardAliasDevice>
|
||||
<LinkingMode>Manual</LinkingMode>
|
||||
<IO>
|
||||
<Name>In</Name>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<DataType>BIT</DataType>
|
||||
<BitSize>1</BitSize>
|
||||
</IO>
|
||||
</StandardAliasDevice>
|
||||
</SafetyDeviceDesc>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SafetyDeviceDesc Crc="3524024429" FileFormatVersion="1.8">
|
||||
<AliasDeviceType>
|
||||
<Type>1</Type>
|
||||
<SubType>1</SubType>
|
||||
<VendorId>0</VendorId>
|
||||
</AliasDeviceType>
|
||||
<SDSID>28</SDSID>
|
||||
<StandardAliasDevice>
|
||||
<LinkingMode>Manual</LinkingMode>
|
||||
<IO>
|
||||
<Name>In</Name>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<DataType>BIT</DataType>
|
||||
<BitSize>1</BitSize>
|
||||
</IO>
|
||||
</StandardAliasDevice>
|
||||
</SafetyDeviceDesc>
|
||||
18
MainSafetyPLC/Not_Halt_Global/Alias Devices/Run.sds
Normal file
18
MainSafetyPLC/Not_Halt_Global/Alias Devices/Run.sds
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SafetyDeviceDesc Crc="854771591" FileFormatVersion="1.8">
|
||||
<AliasDeviceType>
|
||||
<Type>1</Type>
|
||||
<SubType>1</SubType>
|
||||
<VendorId>0</VendorId>
|
||||
</AliasDeviceType>
|
||||
<SDSID>22</SDSID>
|
||||
<StandardAliasDevice>
|
||||
<LinkingMode>Manual</LinkingMode>
|
||||
<IO>
|
||||
<Name>In</Name>
|
||||
<BitOffsMessage>0</BitOffsMessage>
|
||||
<DataType>BIT</DataType>
|
||||
<BitSize>1</BitSize>
|
||||
</IO>
|
||||
</StandardAliasDevice>
|
||||
</SafetyDeviceDesc>
|
||||
285
MainSafetyPLC/Not_Halt_Global/Not_Halt_Global.sal
Normal file
285
MainSafetyPLC/Not_Halt_Global/Not_Halt_Global.sal
Normal file
@@ -0,0 +1,285 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<safetyApplication Crc="1359224941" xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" dslVersion="1.5.0.0" Id="9612a4fe-bcc7-44ac-98eb-591c855d3593" name="" mapState="false" mapDiag="false" groupOrderId="2" passificationAllowed="false" temporaryDeactivationAllowed="false" permamentDeactivationAllowed="false" xmlid="0" analogFBOutputReplacementValues="Zero" verifyAnalogFBInputsIfStart="false" userFbId="00000000-0000-0000-0000-000000000000" xmlns="http://schemas.microsoft.com/dsltools/SafetyApplicationLanguage">
|
||||
<networks>
|
||||
<safetyApplicationHasNetworks Id="380f5fd8-ba2a-45bb-a78e-f84c8d89382d">
|
||||
<Network Id="11bb88f4-a35c-49d9-88d3-88e91ad6a621" name="Network1" networkName="Network1" intId="1" networkOrderId="0">
|
||||
<functionBlocks>
|
||||
<networkHasFunctionBlocks Id="35eb6916-02ce-46be-aa15-9fe1d699e94f">
|
||||
<fBEstop Id="297db6ae-aaa5-464b-be40-5ed100468bca" name="FBEstop1" instanceName="FBEstop1" orderOfExecution="1" mapState="false" mapDiag="false" functionName="safeEstop" safeInputsAfterDiscError="true">
|
||||
<inPorts>
|
||||
<functioBlockHasInPorts Id="091e3c65-4b5b-49af-98de-7dc9930fea99">
|
||||
<inPort Id="f40fa17f-ee60-40e6-afd0-a4ff3f333ac1" name="Restart" portName="Restart" portNum="2" objectIndex="0" varId="1" filter="3" portDataType="1" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="39a9853e-dca7-4e41-91d9-85307558b043">
|
||||
<fbPortGlobalVariableReference Id="e1b67e55-17e2-461c-bad5-690482136090" variableId="3b4f283a-d376-4bbc-8717-cb4b3d88342e" lastKnownPath="GVL1.xNotHaltRestart" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="e768ca0c-4f4c-4405-b91e-bf782914ce66">
|
||||
<inPort Id="721d8d36-06d8-4eee-8f44-0b05696e0b3d" name="EStopIn1" portName="EStopIn1" portNum="4" objectIndex="8" varId="3" filter="2" portDataType="1" channelInterface="Two-Channel" discrepancyTime="200" deactivate1="Break Contact (NC)" deactivate2="Break Contact (NC)" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="4caa4c20-a1e6-470e-b51e-58ab6c181bbb">
|
||||
<fbPortGlobalVariableReference Id="c9b661bb-0e41-44f0-80ac-a0de2f85a98d" variableId="b420cc6c-39c2-4c75-bb48-acf00ba7ef01" lastKnownPath="GVL1.xNotHaltSchaltschrankCh1" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="7dc346cc-820f-47f0-9f75-959caa9cafc6">
|
||||
<inPort Id="7398573d-9703-4b43-8c5f-0ae0846e19c6" name="EStopIn2" portName="EStopIn2" portNum="5" objectIndex="9" varId="4" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="7f06a865-1e94-469d-b825-347b7b8c6aad">
|
||||
<fbPortGlobalVariableReference Id="27eaa48b-1927-4b07-b72d-d8144c72d6e2" variableId="60346591-ba5c-4986-842f-7859b68bce4b" lastKnownPath="GVL1.xNotHaltSchaltschrankCh2" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="49204335-5b68-4053-9025-2266a597696c">
|
||||
<inPort Id="46a8b85e-b9ec-445f-902a-1f8f4310f940" name="EStopIn3" portName="EStopIn3" portNum="6" objectIndex="10" varId="5" filter="2" portDataType="1" channelInterface="Two-Channel" discrepancyTime="200" deactivate1="Break Contact (NC)" deactivate2="Break Contact (NC)" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="69bab18c-0f32-4cbd-a6cf-390e5e3cb265">
|
||||
<fbPortGlobalVariableReference Id="c4d3679d-afae-461e-82a9-6e171570e3e6" variableId="4415ae72-1484-4806-927e-79e9ab66fc0c" lastKnownPath="GVL1.xNotHaltTuerOstCh1" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="f510f84a-5611-4ca8-88fd-9bcad59bbd71">
|
||||
<inPort Id="d66f2077-2967-4192-943b-96a1839793af" name="EStopIn4" portName="EStopIn4" portNum="7" objectIndex="11" varId="6" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="b21d2ca2-93d9-41bf-a6fe-401d95c8b12f">
|
||||
<fbPortGlobalVariableReference Id="1cadef86-a798-4d3f-8c6a-5173bd7a1685" variableId="0d8530ef-b4b6-4dd4-9fea-1c1df65b4868" lastKnownPath="GVL1.xNotHaltTuerOstCh2" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="e18f10ac-1636-4ff2-a9e7-22b67c0c05f5">
|
||||
<inPort Id="64515727-5f9a-4ef4-974a-7ade4f8c0d7e" name="EStopIn5" portName="EStopIn5" portNum="8" objectIndex="12" varId="7" filter="2" portDataType="1" channelInterface="Two-Channel" discrepancyTime="200" deactivate1="Break Contact (NC)" deactivate2="Break Contact (NC)" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="1498f26d-11a7-4442-9021-80fe19fca00a">
|
||||
<fbPortGlobalVariableReference Id="03f2323f-7971-4726-84b6-b8e500b4afaf" variableId="76c1a103-19fb-44e4-ab23-4ac096cb2fac" lastKnownPath="GVL1.xNotHaltTuerWestCh1" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="219431b7-61de-40c2-ba06-14dc1af4dbcc">
|
||||
<inPort Id="5203a339-fdf3-49a3-949c-21580a00e54e" name="EStopIn6" portName="EStopIn6" portNum="9" objectIndex="13" varId="8" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="9bbdb6c7-9c55-41f0-aa93-4cea33bcfe41">
|
||||
<fbPortGlobalVariableReference Id="11a3990d-5de1-47a1-9c8e-be48a2747393" variableId="302f2cc9-466b-4cb8-ac1f-a556b1dfd382" lastKnownPath="GVL1.xNotHaltTuerWestCh2" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="617abe78-c228-41b1-b47b-083e76a2bd1b">
|
||||
<inPort Id="b0e41880-05c6-4369-96c8-e159ad9f71b9" name="EStopIn7" portName="EStopIn7" portNum="10" objectIndex="14" varId="9" filter="2" portDataType="1" channelInterface="Two-Channel" discrepancyTime="200" deactivate1="Break Contact (NC)" deactivate2="Break Contact (NC)" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="d4610419-6192-47b9-8b66-d08028947868">
|
||||
<fbPortGlobalVariableReference Id="926e89af-ca0a-430a-bbc5-949b9a62a90b" variableId="36d412ed-4294-44b7-929d-f6cea8e5ef61" lastKnownPath="GVL1.xNotHaltTuerNordCh1" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="ea4c058c-52c8-4e24-b966-dbbb294f9ed0">
|
||||
<inPort Id="a84723e7-49ae-438e-a184-3cd0a05ad119" name="EStopIn8" portName="EStopIn8" portNum="11" objectIndex="15" varId="10" filter="2" portDataType="1" channelInterface="Both Deactivated" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="195c9003-b3ae-402c-801e-46ff7952b516">
|
||||
<fbPortGlobalVariableReference Id="55529470-3989-4b93-a404-42ce7e64d62e" variableId="da993469-9e03-494e-b7ff-aaa36b4ef23b" lastKnownPath="GVL1.xNotHaltTuerNordCh2" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="cfd6247a-0399-4723-b17d-4949669641bf">
|
||||
<inPort Id="b1159fe1-4d2e-4ab2-8e1c-67881350d8a5" name="EDM1" portName="EDM1" portNum="13" objectIndex="1" varId="12" filter="3" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="eb7348ef-5ac0-4428-a75a-3d77b9eb005c">
|
||||
<inPort Id="95187413-d09d-427f-8a9e-856303a01218" name="EDM2" portName="EDM2" portNum="14" objectIndex="2" varId="13" filter="3" portDataType="1" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
</inPorts>
|
||||
<outPorts>
|
||||
<functionBlockHasOutPorts Id="104e4683-041b-435e-a3c7-17c91749cdec">
|
||||
<outPort Id="306885f4-8ce7-444a-8505-7ccaf5f7b446" name="Error" portName="Error" portNum="4" objectIndex="0" varId="16" filter="7" portDataType="1" replacementValue="0" />
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="f5b5fca0-7a8b-4328-a424-d486c2ef1062">
|
||||
<outPort Id="c5298699-378c-4610-87c6-5db90728547d" name="EStopOut" portName="EStopOut" portNum="11" objectIndex="1" varId="23" filter="7" portDataType="1" replacementValue="0">
|
||||
<targetFunctionBlockPorts>
|
||||
<wiredLink Id="ebc4213b-f246-4300-9b7e-740534a3e3f6">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn1" />
|
||||
</wiredLink>
|
||||
</targetFunctionBlockPorts>
|
||||
</outPort>
|
||||
</functionBlockHasOutPorts>
|
||||
<functionBlockHasOutPorts Id="23428fc5-cdd8-4685-b395-7ca8d53b9433">
|
||||
<outPort Id="2abf9711-ca02-49ff-a2c3-3bcce999bb88" name="EStopDelOut" portName="EStopDelOut" portNum="12" objectIndex="2" varId="26" filter="7" portDataType="1" replacementValue="0">
|
||||
<targetFunctionBlockPorts>
|
||||
<wiredLink Id="76bc7299-0ce7-476e-937d-095cee842820">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn1" />
|
||||
</wiredLink>
|
||||
</targetFunctionBlockPorts>
|
||||
</outPort>
|
||||
</functionBlockHasOutPorts>
|
||||
</outPorts>
|
||||
<parameterPorts>
|
||||
<functionBlockHasParamPorts Id="8267e99a-2da8-4699-9bd4-bcbbf3034046">
|
||||
<parameterPort Id="c33e6c01-9f95-4a3a-ab85-2703096c3ffe" name="Delay Time (ms)" portName="Delay Time (ms)" portNum="8" objectIndex="0" varId="0" filter="0" portDataType="0" timing="2000" userFbPortName="Delay Time (ms)" useInUserFb="false" />
|
||||
</functionBlockHasParamPorts>
|
||||
</parameterPorts>
|
||||
</fBEstop>
|
||||
</networkHasFunctionBlocks>
|
||||
<networkHasFunctionBlocks Id="358662e6-8dd8-469b-bc16-d432ff0fa435">
|
||||
<fBAnd Id="5730960b-b461-44c8-aea1-953dad7bd97d" name="FBAnd1" instanceName="FBAnd1" orderOfExecution="2" mapState="false" mapDiag="false" functionName="safeAnd">
|
||||
<inPorts>
|
||||
<functioBlockHasInPorts Id="0d59bba0-7f2b-4271-afec-66391406ee6c">
|
||||
<inPort Id="a843e1d0-65d0-4394-9bfb-556803ce4eef" name="AndIn1" portName="AndIn1" portNum="2" objectIndex="8" varId="2" filter="3" portDataType="1" channelInterface="Activated" deactivate1="Break Contact (NC)" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="836b44c5-ce81-418e-9769-185bf769e2bc">
|
||||
<inPort Id="34590447-ed64-453b-a1b9-a2c43b9ea301" name="AndIn2" portName="AndIn2" portNum="3" objectIndex="9" varId="3" filter="2" portDataType="1" channelInterface="Activated" deactivate1="Break Contact (NC)" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="b06767e5-2457-4b1a-9a84-1a37430b2a9c">
|
||||
<fbPortGlobalVariableReference Id="6933e1d3-fb76-4af9-9fe4-2205725a507a" variableId="470a26a4-f34a-41f5-9dc7-8b857cf4fdda" lastKnownPath="GVL1.xNotHaltRegalString1Ok" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="1ab4fcdc-0ff5-4fd2-aef1-b6225123a11d">
|
||||
<inPort Id="7d674340-ae8f-4834-bfc9-50845e6344e7" name="AndIn3" portName="AndIn3" portNum="4" objectIndex="10" varId="4" filter="2" portDataType="1" channelInterface="Activated" deactivate1="Break Contact (NC)" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="78d72fc2-667e-4012-b757-df2f8647eccf">
|
||||
<fbPortGlobalVariableReference Id="cd2e2953-7d82-4c7e-833e-753d66b67768" variableId="a206d633-4703-4d1d-b69b-7558aa4b78f1" lastKnownPath="GVL1.xNotHaltRegalString2Ok" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="2ae65a3a-d723-4bb3-afe6-446fc2b0120e">
|
||||
<inPort Id="66e83141-2dcf-40d5-9769-5685b0bc00e7" name="AndIn4" portName="AndIn4" portNum="5" objectIndex="11" varId="5" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="eea7700f-2277-4fb2-b607-10ba618ec354">
|
||||
<inPort Id="c96d356f-9e6b-4145-95ed-b58ea06850f7" name="AndIn5" portName="AndIn5" portNum="6" objectIndex="12" varId="6" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="488703be-67f4-4a4b-9d35-e8d11ca2eef0">
|
||||
<inPort Id="a00c5c98-3c48-49a6-b1c9-2a41efdb0008" name="AndIn6" portName="AndIn6" portNum="7" objectIndex="13" varId="7" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="ae9038d7-4278-473c-abbd-efa9f0d6f264">
|
||||
<inPort Id="f9166071-d736-487c-b04a-463135f5517b" name="AndIn7" portName="AndIn7" portNum="8" objectIndex="14" varId="8" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="6ca4411e-c2ed-442d-ac78-b86992cbf1e2">
|
||||
<inPort Id="1bd27198-b6e5-4264-9f31-cfaea4b42ae0" name="AndIn8" portName="AndIn8" portNum="9" objectIndex="15" varId="9" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
</inPorts>
|
||||
<outPorts>
|
||||
<functionBlockHasOutPorts Id="0368deac-4b1c-4706-9385-94d4d06bc421">
|
||||
<outPort Id="6cf93fc5-7ecb-422b-8cf8-4336135919fc" name="AndOut" portName="AndOut" portNum="8" objectIndex="1" varId="20" filter="7" portDataType="1" replacementValue="1">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="a5e66e76-f6b1-47dc-99cb-33957b890dce">
|
||||
<fbPortGlobalVariableReference Id="fd9240b8-ce6c-47df-a07f-83d1634fecb5" variableId="fd13ec66-f132-4c16-8dda-cd20dd1a4844" lastKnownPath="GVL1.xNotHaltOk" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</outPort>
|
||||
</functionBlockHasOutPorts>
|
||||
</outPorts>
|
||||
</fBAnd>
|
||||
</networkHasFunctionBlocks>
|
||||
<networkHasFunctionBlocks Id="b608c9c3-306f-4a49-86bf-8a3f6240aa3b">
|
||||
<fBAnd Id="81e34e6f-9ef8-4863-a434-bfb20861f2b3" name="FBAnd2" instanceName="FBAnd2" orderOfExecution="3" mapState="false" mapDiag="false" functionName="safeAnd">
|
||||
<inPorts>
|
||||
<functioBlockHasInPorts Id="8e66606f-d10e-42e7-b779-2df2e0e8ae6b">
|
||||
<inPort Id="15494a63-b0d2-491e-a0c3-a63b1de2d8b8" name="AndIn1" portName="AndIn1" portNum="2" objectIndex="8" varId="2" filter="3" portDataType="1" channelInterface="Activated" deactivate1="Break Contact (NC)" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="713a6483-af3c-48d4-ae3a-5ca182ed8c41">
|
||||
<inPort Id="437b7852-b2f1-47fa-8d91-5eb8a49ea9f6" name="AndIn2" portName="AndIn2" portNum="3" objectIndex="9" varId="3" filter="2" portDataType="1" channelInterface="Activated" deactivate1="Break Contact (NC)" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="afd29a0b-664a-47e9-b3e8-5ca8c014bdd5">
|
||||
<fbPortGlobalVariableReference Id="5add894f-aed1-4361-adfb-3c5c6753b20f" variableId="34175068-eb12-4ad7-ac89-538b91b7f333" lastKnownPath="GVL1.xNotHaltRegalString1OkDelay" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="5133df54-411f-4b22-9190-7517bd425df5">
|
||||
<inPort Id="f12cd8e1-ce57-4e8d-bce8-837114286a11" name="AndIn3" portName="AndIn3" portNum="4" objectIndex="10" varId="4" filter="2" portDataType="1" channelInterface="Activated" deactivate1="Break Contact (NC)" maxDeviation="0" resetTime="0">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="63e01591-3087-46ff-bea3-ccde4fcc8b6e">
|
||||
<fbPortGlobalVariableReference Id="620f56ab-79be-4c5b-b5d7-ac0631a65b62" variableId="00334237-19c0-45b1-a8f2-4c034ae45ee0" lastKnownPath="GVL1.xNotHaltRegalString2OkDelay" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</inPort>
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="0e3e6e90-7f38-46b4-a757-1c9514027b4c">
|
||||
<inPort Id="b8629ccb-bc8b-4372-8d62-fb99eb1d4cf0" name="AndIn4" portName="AndIn4" portNum="5" objectIndex="11" varId="5" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="3d1e0c79-0139-477d-b537-0a240d789c36">
|
||||
<inPort Id="7b460385-3dfc-4b6d-8fdc-75a0f480aa81" name="AndIn5" portName="AndIn5" portNum="6" objectIndex="12" varId="6" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="15e8e7ed-b71c-428e-9c0c-f0fea6cfa43b">
|
||||
<inPort Id="285ca33e-c4aa-45e0-b1ac-3f8ce97f807c" name="AndIn6" portName="AndIn6" portNum="7" objectIndex="13" varId="7" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="11383c02-b6e3-444f-86b6-7c80112d44dd">
|
||||
<inPort Id="72da3d46-8ed7-4e67-bb3e-ff360a51e848" name="AndIn7" portName="AndIn7" portNum="8" objectIndex="14" varId="8" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
<functioBlockHasInPorts Id="bea4772c-23f2-4957-98bb-4dd539503b96">
|
||||
<inPort Id="874acf77-146d-4760-af76-0955135350cf" name="AndIn8" portName="AndIn8" portNum="9" objectIndex="15" varId="9" filter="2" portDataType="1" channelInterface="Deactivated" maxDeviation="0" resetTime="0" />
|
||||
</functioBlockHasInPorts>
|
||||
</inPorts>
|
||||
<outPorts>
|
||||
<functionBlockHasOutPorts Id="329b5fe2-8c77-461b-82f4-d55327485166">
|
||||
<outPort Id="cb8ea492-a258-459b-a2c3-043a36bdf6db" name="AndOut" portName="AndOut" portNum="8" objectIndex="1" varId="20" filter="7" portDataType="1" replacementValue="1">
|
||||
<fbPortGlobalVariableReferences>
|
||||
<functionBlockPortHasFbPortGlobalVariableReferences Id="16c4a091-c0ab-4159-b626-5a15683cc728">
|
||||
<fbPortGlobalVariableReference Id="17cf55ec-4b5b-410c-ba80-7b18a6c0207b" variableId="b61d0fc0-cc9f-462c-87a0-7ca3a2a7ddd0" lastKnownPath="GVL1.xNotHaltDelayOk" />
|
||||
</functionBlockPortHasFbPortGlobalVariableReferences>
|
||||
</fbPortGlobalVariableReferences>
|
||||
</outPort>
|
||||
</functionBlockHasOutPorts>
|
||||
</outPorts>
|
||||
</fBAnd>
|
||||
</networkHasFunctionBlocks>
|
||||
</functionBlocks>
|
||||
</Network>
|
||||
</safetyApplicationHasNetworks>
|
||||
</networks>
|
||||
<twinSAFEGroupAliasPorts>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="823039d7-2ce0-4f9b-b67f-abe7fb7dfe54">
|
||||
<twinSAFEGroupAliasPort Id="e41660f4-d22d-40b1-8509-7bd9c69b7766" name="RunStop" sdsId="0" channelId="0" portName="RunStop" functionId="0">
|
||||
<groupPortGlobalVariableReferences>
|
||||
<twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences Id="6c03b5a4-9669-4089-94a0-4d81df1f3c07">
|
||||
<groupPortGlobalVariableReference Id="e5c71d55-eb37-423e-b9a6-2fdc002eed45" variableId="6d45e67f-50df-4b61-a9d0-03f285b6a1bf" lastKnownPath="GVL1.xRun" />
|
||||
</twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences>
|
||||
</groupPortGlobalVariableReferences>
|
||||
</twinSAFEGroupAliasPort>
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="5837bc00-438e-446e-9996-4510cea5c703">
|
||||
<twinSAFEGroupAliasPort Id="7e2ebab5-c2df-4469-a598-6fb5f2509ad0" name="ErrAck" sdsId="0" channelId="0" portName="ErrAck" functionId="0">
|
||||
<groupPortGlobalVariableReferences>
|
||||
<twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences Id="b9b3826c-a68f-4045-a4d0-501f42e095b1">
|
||||
<groupPortGlobalVariableReference Id="e2d6269b-a4ca-460c-858f-37c656bec5df" variableId="9f1c118d-b0f2-4f34-abb9-b4b05f111bfd" lastKnownPath="GVL1.xErrorAck" />
|
||||
</twinSAFEGroupAliasPortHasGroupPortGlobalVariableReferences>
|
||||
</groupPortGlobalVariableReferences>
|
||||
</twinSAFEGroupAliasPort>
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="96992a9c-d923-42df-b093-2c8f22dd8da4">
|
||||
<twinSAFEGroupAliasPort Id="1269c47e-74bd-4f71-bb05-148050451f1c" name="ModuleFault" sdsId="0" channelId="0" portName="ModuleFault" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="72f1d5de-19dd-4c5a-92a6-aab808bb1aca">
|
||||
<twinSAFEGroupAliasPort Id="c0688eb9-8b13-4137-b827-ccc096b5d464" name="FbErr" sdsId="0" channelId="0" portName="FbErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="8bd8e943-b58a-4df6-b54a-153c03ce9724">
|
||||
<twinSAFEGroupAliasPort Id="dbf23493-0cd1-40c9-b655-5d9c9e92e13e" name="ComErr" sdsId="0" channelId="0" portName="ComErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="47ac2096-aa3a-48a7-82ae-0de4618d713b">
|
||||
<twinSAFEGroupAliasPort Id="e31588b2-1556-4e06-9fd4-1cdfb9f77593" name="OutErr" sdsId="0" channelId="0" portName="OutErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="3f3548b7-231c-4abe-951d-52442408484c">
|
||||
<twinSAFEGroupAliasPort Id="a9853cdb-adf0-42d6-9aaf-4db9a17c00cd" name="OtherErr" sdsId="0" channelId="0" portName="OtherErr" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="462d8002-4868-44c6-b815-b2d94732d8b3">
|
||||
<twinSAFEGroupAliasPort Id="defe1010-a0c9-4bea-b5e2-df73fc6ca6a8" name="ComStartup" sdsId="0" channelId="0" portName="ComStartup" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="17b964bf-fd91-4dfb-9e8b-7a4311fc1744">
|
||||
<twinSAFEGroupAliasPort Id="2535cd40-4058-432e-86e9-3d67f4ef7901" name="FbDeactive" sdsId="0" channelId="0" portName="FbDeactive" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="1ce43c19-d5d1-484d-83b3-f83bee2b200c">
|
||||
<twinSAFEGroupAliasPort Id="6f77649d-c332-4dd6-a4e6-e687ec999fe9" name="FbRun" sdsId="0" channelId="0" portName="FbRun" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
<safetyApplicationHasTwinSAFEGroupAliasPort Id="0b57b38f-4d6c-4e5b-8e79-8c1d532c2be8">
|
||||
<twinSAFEGroupAliasPort Id="78097c43-4045-4650-918b-1f979178fb02" name="InRun" sdsId="0" channelId="0" portName="InRun" functionId="0" />
|
||||
</safetyApplicationHasTwinSAFEGroupAliasPort>
|
||||
</twinSAFEGroupAliasPorts>
|
||||
</safetyApplication>
|
||||
172
MainSafetyPLC/Not_Halt_Global/Not_Halt_Global.sal.diagram
Normal file
172
MainSafetyPLC/Not_Halt_Global/Not_Halt_Global.sal.diagram
Normal file
@@ -0,0 +1,172 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<safetyApplicationLanguageDiagram Crc="1006273056" dslVersion="1.5.0.0" Id="10165380-5ad4-4a1c-ba25-e8b86a8e4001" absoluteBounds="0, 0, 14.5, 8.75" name="TwinSAFE">
|
||||
<safetyApplicationMoniker name="/" />
|
||||
<nestedChildShapes>
|
||||
<networkSwimLane Id="e01f4458-df70-481e-ae9d-4f44a16fbcf1" absoluteBounds="0, 0, 14.5, 8.75">
|
||||
<networkMoniker name="//Network1" />
|
||||
<nestedChildShapes>
|
||||
<fBEstopShape Id="c5efe502-b07f-4e84-a1b4-e00110084c14" absoluteBounds="2.25, 0.625, 3.35, 4.45">
|
||||
<fBEstopMoniker name="//Network1/FBEstop1" />
|
||||
<relativeChildShapes>
|
||||
<inPortShape Id="5d11fb75-1fe6-49c2-97cc-7a4c83480692" absoluteBounds="2.17, 1.37, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/Restart" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="de6fb942-92e8-4f86-9344-2a42ea3425b6" absoluteBounds="2.17, 1.9325, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EStopIn1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="2894b51a-962d-4383-b4fb-da79f3c031e5" absoluteBounds="2.17, 2.1575, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EStopIn2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="c98389de-bf2d-4d7e-a086-e0423c430aa8" absoluteBounds="2.17, 2.4725, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EStopIn3" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="2f9d4ded-288b-4988-a64c-219301586fe1" absoluteBounds="2.17, 2.6975000000000002, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EStopIn4" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="bd204149-520d-4875-a2ab-a687890f52c4" absoluteBounds="2.17, 3.0125, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EStopIn5" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="02c5f9e7-d713-4810-8bd0-5c18e1b24d5a" absoluteBounds="2.17, 3.2375000000000003, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EStopIn6" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="57b4f769-5818-4117-833e-dc1f3f5dee0c" absoluteBounds="2.17, 3.5525, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EStopIn7" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="337fbd76-fdd1-4d8d-87e4-58672ddabaa2" absoluteBounds="2.17, 3.7775000000000003, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EStopIn8" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="d159867f-3d05-4f29-97e2-fc9dbfaa8522" absoluteBounds="2.17, 4.3625000000000007, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EDM1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="bcc54c86-b5e7-4bf9-8c9f-1dfcb0409ac4" absoluteBounds="2.17, 4.5875, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBEstop1/EDM2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<outPortShape Id="f32ecd44-0fa4-4f1c-910c-276708763370" absoluteBounds="5.5, 1.9100000000000001, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBEstop1/Error" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="510a7f5e-9da8-4f77-90d2-33584b378b6e" absoluteBounds="5.5, 3.8000000000000003, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBEstop1/EStopOut" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<outPortShape Id="cd5d77b9-a607-4e82-a9f8-a6fde694cc20" absoluteBounds="5.5, 4.07, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBEstop1/EStopDelOut" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
<paramPortShape Id="d1ae0b47-2b2f-4c4a-a781-823a7a85c6c1" absoluteBounds="3.82, 3.9000000000000004, 0.7, 0.2">
|
||||
<parameterPortMoniker name="//Network1/FBEstop1/Delay Time (ms)" />
|
||||
<relativeChildShapes />
|
||||
</paramPortShape>
|
||||
</relativeChildShapes>
|
||||
</fBEstopShape>
|
||||
<fBAndShape Id="e0e4ea3e-f1ea-4da4-aa5c-01aa25c2c980" absoluteBounds="8.25, 1.75, 2.75, 3.25">
|
||||
<fBAndMoniker name="//Network1/FBAnd1" />
|
||||
<relativeChildShapes>
|
||||
<inPortShape Id="38527e36-3b72-48ef-ad40-f9caa9bc2c6c" absoluteBounds="8.17, 2.495, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="723ac003-1731-456a-981d-d3aafe2f6aa5" absoluteBounds="8.17, 2.765, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="3878fa84-6938-4750-8479-080a1f18e78f" absoluteBounds="8.17, 3.035, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn3" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="e6132f25-4b20-4054-99e9-d797c56f855b" absoluteBounds="8.17, 3.305, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn4" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="e046bdcb-5c2a-49f3-a96a-04d72c6ffd82" absoluteBounds="8.17, 3.575, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn5" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="66fed085-916e-4c91-8fd8-eed96d2aa6b5" absoluteBounds="8.17, 3.845, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn6" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="b960bf72-41d0-4308-96a0-bbf8d0bf11e5" absoluteBounds="8.17, 4.115, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn7" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="40c95399-4503-4576-9f34-25faf3833901" absoluteBounds="8.17, 4.385, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd1/AndIn8" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<outPortShape Id="e2b2f597-9666-40b4-ba57-34d81d2426b5" absoluteBounds="10.9, 4.115, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBAnd1/AndOut" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
</relativeChildShapes>
|
||||
</fBAndShape>
|
||||
<fBAndShape Id="21fe230e-480a-414d-b210-0e4f905f3f64" absoluteBounds="8.25, 5.25, 2.75, 3.25">
|
||||
<fBAndMoniker name="//Network1/FBAnd2" />
|
||||
<relativeChildShapes>
|
||||
<inPortShape Id="a8d2e952-9d8b-41e7-a100-f023f58be10b" absoluteBounds="8.17, 5.995, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn1" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="941df459-0051-488c-9c1a-7cc679ea771f" absoluteBounds="8.17, 6.2650000000000006, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn2" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="685514d1-2187-41cf-a174-953ccd23a0ab" absoluteBounds="8.17, 6.535, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn3" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="d21527ae-be16-4c82-b850-620331824056" absoluteBounds="8.17, 6.805, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn4" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="8128d774-2f25-4eca-8596-e950a584a41c" absoluteBounds="8.17, 7.075, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn5" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="a7105c3a-76e8-416e-a19c-323c6d83fe60" absoluteBounds="8.17, 7.3450000000000006, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn6" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="ac4af310-d9f3-4116-8255-59355015d323" absoluteBounds="8.17, 7.615, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn7" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<inPortShape Id="dd5454cf-66b1-4a83-a24a-ee1ef910cec6" absoluteBounds="8.17, 7.885, 0.15, 0.15">
|
||||
<inPortMoniker name="//Network1/FBAnd2/AndIn8" />
|
||||
<relativeChildShapes />
|
||||
</inPortShape>
|
||||
<outPortShape Id="b7ee9e99-b3f3-4cba-8599-f587b498a46f" absoluteBounds="10.9, 7.615, 0.15, 0.15">
|
||||
<outPortMoniker name="//Network1/FBAnd2/AndOut" />
|
||||
<relativeChildShapes />
|
||||
</outPortShape>
|
||||
</relativeChildShapes>
|
||||
</fBAndShape>
|
||||
<wiredLinkConnector Id="9f97a579-88c5-40a8-87cb-ec05d875e657" edgePoints="[(5.65 : 4.145); (6.42604136988521 : 4.145); (6.42604136988521 : 6.07); (8.17 : 6.07)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller" color="0, 0, 0" thickness="0.01" expandedManuallyRouted="false">
|
||||
<wiredLinkMoniker Id="76bc7299-0ce7-476e-937d-095cee842820" />
|
||||
<nodes>
|
||||
<outPortShapeMoniker Id="cd5d77b9-a607-4e82-a9f8-a6fde694cc20" />
|
||||
<inPortShapeMoniker Id="a8d2e952-9d8b-41e7-a100-f023f58be10b" />
|
||||
</nodes>
|
||||
</wiredLinkConnector>
|
||||
<wiredLinkConnector Id="060cc878-ab2a-49b1-a0c7-d0496aa64e68" edgePoints="[(5.65 : 3.875); (6.025 : 3.875); (6.025 : 2.57); (8.17 : 2.57)]" fixedFrom="Caller" fixedTo="Caller" color="0, 0, 0" thickness="0.01" expandedManuallyRouted="false">
|
||||
<wiredLinkMoniker Id="ebc4213b-f246-4300-9b7e-740534a3e3f6" />
|
||||
<nodes>
|
||||
<outPortShapeMoniker Id="510a7f5e-9da8-4f77-90d2-33584b378b6e" />
|
||||
<inPortShapeMoniker Id="38527e36-3b72-48ef-ad40-f9caa9bc2c6c" />
|
||||
</nodes>
|
||||
</wiredLinkConnector>
|
||||
</nestedChildShapes>
|
||||
</networkSwimLane>
|
||||
</nestedChildShapes>
|
||||
</safetyApplicationLanguageDiagram>
|
||||
22
MainSafetyPLC/TargetSystemConfig.xml
Normal file
22
MainSafetyPLC/TargetSystemConfig.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TargetSystemConfig Crc="199280436" Version="1.5">
|
||||
<TargetSystemType>HSafetyPLC</TargetSystemType>
|
||||
<TargetSystemSubType>EL6910</TargetSystemSubType>
|
||||
<IsExternalDevice>false</IsExternalDevice>
|
||||
<TargetSystemObjectId>50462723</TargetSystemObjectId>
|
||||
<TargetSystemObjectName>-42K1 (EL6910)</TargetSystemObjectName>
|
||||
<SoftwareVersion>05 (V01.14) </SoftwareVersion>
|
||||
<SerialNumber>4238305</SerialNumber>
|
||||
<ProjectCRC>577</ProjectCRC>
|
||||
<MapProjectCRC>false</MapProjectCRC>
|
||||
<MapSerialNumber>false</MapSerialNumber>
|
||||
<VersionNumber>1</VersionNumber>
|
||||
<FSOEAddress>1</FSOEAddress>
|
||||
<DipSwitch>1</DipSwitch>
|
||||
<AmsNetID>10.103.32.50.2.1</AmsNetID>
|
||||
<AmsPort>1002</AmsPort>
|
||||
<ConnectionInfoDataConfigOld>false</ConnectionInfoDataConfigOld>
|
||||
<TakeOverSafetyAliasDeviceNamesInProcessImage>true</TakeOverSafetyAliasDeviceNamesInProcessImage>
|
||||
<TakeOverStandardAliasDeviceNamesInProcessImage>true</TakeOverStandardAliasDeviceNamesInProcessImage>
|
||||
<BackupRestore Needed="0" Activated="false" RestoreUserAdministration="false" />
|
||||
</TargetSystemConfig>
|
||||
19
PLC/DUTs/E_BATTERY_STATUS.TcDUT
Normal file
19
PLC/DUTs/E_BATTERY_STATUS.TcDUT
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="E_BATTERY_STATUS" Id="{99b02815-2b47-4159-a889-c86170baa34d}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_BATTERY_STATUS :
|
||||
(
|
||||
ERROR := 1,
|
||||
OFF := 2,
|
||||
READY := 3,
|
||||
ACTIVE := 4,
|
||||
MAINTENANCE := 5,
|
||||
TESTING := 6
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
22
PLC/DUTs/E_BMS_CONTROL_MODE.TcDUT
Normal file
22
PLC/DUTs/E_BMS_CONTROL_MODE.TcDUT
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="E_BMS_CONTROL_MODE" Id="{ab000a04-c252-420d-ac1e-2bf611fa911a}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
TYPE E_BMS_CONTROL_MODE :
|
||||
(
|
||||
AUTO_REMOTE := 1,
|
||||
AUTO_LOCAL := 2,
|
||||
SAFETY_CHECK := 3,
|
||||
CAPACITY_TEST := 4,
|
||||
MANUAL := 5,
|
||||
BALANCING := 6,
|
||||
CYCLING := 7,
|
||||
PRECHARGE := 8,
|
||||
DH := 9,
|
||||
SEMI_AUTO := 10
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
22
PLC/DUTs/E_BMS_STATE.TcDUT
Normal file
22
PLC/DUTs/E_BMS_STATE.TcDUT
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="E_BMS_STATE" Id="{2a757cce-36a5-4230-a14d-5402102352d5}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
TYPE E_BMS_STATE :
|
||||
(
|
||||
IDLE := 0,
|
||||
CHECK_POWER_COMMAND := 1,
|
||||
WAIT_FOR_STRING_TO_BE_READY := 2,
|
||||
WAIT_FOR_INVERTER := 3,
|
||||
ENABLED := 4,
|
||||
WAIT_FOR_SHUTDOWN_DISCHARGE_MODE := 5,
|
||||
SEGMENT_DISCHARGE_WITH_INVERTER_DONE := 6,
|
||||
SEGMENT_DISCHARGE_DONE := 7,
|
||||
ERROR := 8,
|
||||
WAIT_FOR_ERROR_RESET := 9
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
18
PLC/DUTs/E_CHARGE_STATUS.TcDUT
Normal file
18
PLC/DUTs/E_CHARGE_STATUS.TcDUT
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="E_CHARGE_STATUS" Id="{7a281462-bf73-4949-96d8-aca55bee6c60}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_CHARGE_STATUS :
|
||||
(
|
||||
UNDEFINED := 1,
|
||||
EMPTY := 2,
|
||||
CHARGING := 3,
|
||||
DISCHARGING := 4,
|
||||
FULL := 5
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
20
PLC/DUTs/E_COMPONENT_STATUS.TcDUT
Normal file
20
PLC/DUTs/E_COMPONENT_STATUS.TcDUT
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<DUT Name="E_COMPONENT_STATUS" Id="{cff71c34-33b2-4724-933e-1a2c018acdb7}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_COMPONENT_STATUS :
|
||||
(
|
||||
OFF := 0,
|
||||
ON := 1,
|
||||
CHARGING := 2,
|
||||
DISCHARGING := 3,
|
||||
ERROR := 4,
|
||||
SHUTDOWN := 5,
|
||||
STARTING := 6
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
18
PLC/DUTs/E_CYCLE_STATUS.TcDUT
Normal file
18
PLC/DUTs/E_CYCLE_STATUS.TcDUT
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<DUT Name="E_CYCLE_STATUS" Id="{163b5a12-1523-4982-80d8-ba87ebb439a8}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_CYCLE_STATUS :
|
||||
(
|
||||
OFF := 0,
|
||||
CHARGE_STARTED := 1,
|
||||
CHARGE_ENDED := 2,
|
||||
DISCHARGE_STARTED := 3,
|
||||
DISCHARGE_ENDED := 4
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
16
PLC/DUTs/E_REACTIVE_POWER_TYPE.TcDUT
Normal file
16
PLC/DUTs/E_REACTIVE_POWER_TYPE.TcDUT
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="E_REACTIVE_POWER_TYPE" Id="{e2c788a7-c536-4b02-910e-6cbe600afdab}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_REACTIVE_POWER_TYPE :
|
||||
(
|
||||
INDUCTIVE := 1,
|
||||
CAPACITIVE := 2,
|
||||
NONE := 3
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
18
PLC/DUTs/E_STRING_OPERATING_MODE.TcDUT
Normal file
18
PLC/DUTs/E_STRING_OPERATING_MODE.TcDUT
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="E_STRING_OPERATING_MODE" Id="{d4bc8f87-c493-46b8-95d6-71556c8b0aab}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_STRING_OPERATING_MODE :
|
||||
(
|
||||
AUTOMATIC := 0,
|
||||
SAFETY_CHECK := 1,
|
||||
PRECHARGE := 2,
|
||||
BALANCING := 3,
|
||||
SEMI_AUTO := 4
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_DWORD_UNIT_ERROR_BITMAP" Id="{560d7018-6164-4678-9d70-c41b4bfe9348}">
|
||||
<Declaration><![CDATA[TYPE ST_DWORD_UNIT_ERROR_BITMAP :
|
||||
STRUCT
|
||||
bTNegLow : BIT; // Bit 0
|
||||
bTNegHigh : BIT; // Bit 1
|
||||
bTNegError : BIT; // Bit 2
|
||||
bTPosLow : BIT; // Bit 3
|
||||
bTPosHigh : BIT; // Bit 4
|
||||
bTPosError : BIT; // Bit 5
|
||||
bPInNegLow : BIT; // Bit 6
|
||||
bPInNegHigh : BIT; // Bit 7
|
||||
bPInNegError : BIT; // Bit 8
|
||||
bPInPosLow : BIT; // Bit 9
|
||||
bPInPosHigh : BIT; // Bit 10
|
||||
bPInPosError : BIT; // Bit 11
|
||||
bPTankNegLow : BIT; // Bit 12
|
||||
bPTankNegHigh : BIT; // Bit 13
|
||||
bPTankNegError : BIT; // Bit 14
|
||||
bPTankPosLow : BIT; // Bit 15
|
||||
bPTankPosHigh : BIT; // Bit 16
|
||||
bPTankPosError : BIT; // Bit 17
|
||||
bVLow : BIT; // Bit 18
|
||||
bVHigh : BIT; // Bit 19
|
||||
bVError : BIT; // Bit 20
|
||||
bValveNeg : BIT; // Bit 21
|
||||
bValvePos : BIT; // Bit 22
|
||||
bPumpNeg : BIT; // Bit 23
|
||||
bPumpPos : BIT; // Bit 24
|
||||
bLeack : BIT; // Bit 25
|
||||
bSafetyIntlk : BIT; // Bit 26
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<DUT Name="ST_DWORD_UNIT_WARNING_BITMAP" Id="{fe3a1ecb-072b-4492-b355-17d925e9fa12}">
|
||||
<Declaration><![CDATA[TYPE ST_DWORD_UNIT_WARNING_BITMAP :
|
||||
STRUCT
|
||||
bTNegLow : BIT; // Bit 0
|
||||
bTNegHigh : BIT; // Bit 1
|
||||
bTPosLow : BIT; // Bit 2
|
||||
bTPosHigh : BIT; // Bit 3
|
||||
bPInNegLow : BIT; // Bit 4
|
||||
bPInNegHigh : BIT; // Bit 5
|
||||
bPInPosLow : BIT; // Bit 6
|
||||
bPInPosHigh : BIT; // Bit 7
|
||||
bPTankNegLow : BIT; // Bit 8
|
||||
bPTankNegHigh : BIT; // Bit 9
|
||||
bPTankPosLow : BIT; // Bit 10
|
||||
bPTankPosHigh : BIT; // Bit 11
|
||||
bVLow : BIT; // Bit 12
|
||||
bVHigh : BIT; // Bit 13
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_WORD_BMS_ERROR_BITMAP" Id="{33fc17c1-ae64-4c44-aa8c-117a09c656ef}">
|
||||
<Declaration><![CDATA[TYPE ST_WORD_BMS_ERROR_BITMAP :
|
||||
STRUCT
|
||||
bEStop : BIT; // Bit 0
|
||||
bEthercat : BIT; // Bit 1
|
||||
bError : BIT; // Bit 2
|
||||
bNAProtectionTripped : BIT; // Bit 3
|
||||
bEMSHeartbeatError : BIT; // Bit 4
|
||||
bSafetyErrorVoltage : BIT; // Bit 5
|
||||
bSafetyErrorPressure : BIT; // Bit 6
|
||||
bSafetyErrorTemperature : BIT; // Bit 7
|
||||
bStringsNotReadyInTime : BIT; // BIT 8
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_WORD_BMS_WARNING_BITMAP" Id="{6dfd9c4b-4e74-434e-9f65-01d443c224d5}">
|
||||
<Declaration><![CDATA[TYPE ST_WORD_BMS_WARNING_BITMAP :
|
||||
STRUCT
|
||||
bNotAllInAuto : BIT;
|
||||
bSafetyIntlkString1 : BIT;
|
||||
bSafetyIntlkString2 : BIT;
|
||||
bTCabinetBMSHigh : BIT;
|
||||
bTCabinetSCSString1High : BIT;
|
||||
bTCabinetSCSString2High : BIT;
|
||||
bTCabinetString1Module1High : BIT;
|
||||
bTCabinetString1Module2High : BIT;
|
||||
bTCabinetString1Module3High : BIT;
|
||||
bTCabinetString2Module1High : BIT;
|
||||
bTCabinetString2Module2High : BIT;
|
||||
bTCabinetString2Module3High : BIT;
|
||||
bBatteryAlreadyFull : BIT;
|
||||
bBatteryAlreadyEmpty : BIT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_WORD_EMS_CONTROLS_BITMAP" Id="{7d022e67-048d-4e23-8921-2f5f928e5544}">
|
||||
<Declaration><![CDATA[TYPE ST_WORD_EMS_CONTROLS_BITMAP :
|
||||
STRUCT
|
||||
bScheduleActive : BIT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_WORD_STRING_ERROR_BITMAP" Id="{3924c412-c367-4ea8-9118-864977c416ec}">
|
||||
<Declaration><![CDATA[TYPE ST_WORD_STRING_ERROR_BITMAP :
|
||||
STRUCT
|
||||
bDCSwitch : BIT; // Bit 0
|
||||
bInverterError : BIT; // Bit 1
|
||||
bIsolationError : BIT; // Bit 2
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="U_BMS_ERROR_REGISTER" Id="{f3b37ac5-caba-4b85-a532-93295a2b6a11}">
|
||||
<Declaration><![CDATA[TYPE U_BMS_ERROR_REGISTER :
|
||||
UNION
|
||||
wRegister : WORD;
|
||||
stBitmap : ST_WORD_BMS_ERROR_BITMAP;
|
||||
END_UNION
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="U_BMS_WARNING_REGISTER" Id="{00faf0ca-8dad-4f4f-9244-3aea273b10bd}">
|
||||
<Declaration><![CDATA[TYPE U_BMS_WARNING_REGISTER :
|
||||
UNION
|
||||
wRegister : WORD;
|
||||
stBitmap : ST_WORD_BMS_WARNING_BITMAP;
|
||||
END_UNION
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="U_EMS_CONTROLS_REGISTER" Id="{a1ff95b9-162c-49e5-b53b-4cd068746597}">
|
||||
<Declaration><![CDATA[TYPE U_EMS_CONTROLS_REGISTER :
|
||||
UNION
|
||||
{attribute 'analysis' := '-33'}
|
||||
wRegister : WORD;
|
||||
stBitmap : ST_WORD_EMS_CONTROLS_BITMAP;
|
||||
END_UNION
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="U_STRING_ERROR_REGISTER" Id="{7b446cc8-a059-4d03-be7a-fed0256cd889}">
|
||||
<Declaration><![CDATA[TYPE U_STRING_ERROR_REGISTER :
|
||||
UNION
|
||||
wRegister : WORD;
|
||||
stBitmap : ST_WORD_STRING_ERROR_BITMAP;
|
||||
END_UNION
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="U_UNIT_ERROR_REGISTER" Id="{07ba2ddc-5e9f-4e51-9106-3d60de54c4e3}">
|
||||
<Declaration><![CDATA[TYPE U_UNIT_ERROR_REGISTER :
|
||||
UNION
|
||||
dwRegister : DWORD;
|
||||
stBitmap : ST_DWORD_UNIT_ERROR_BITMAP;
|
||||
END_UNION
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="U_UNIT_WARNING_REGISTER" Id="{30d76b14-f783-4b87-a308-2e6a78ac04eb}">
|
||||
<Declaration><![CDATA[TYPE U_UNIT_WARNING_REGISTER :
|
||||
UNION
|
||||
dwRegister : DWORD;
|
||||
stBitmap : ST_DWORD_UNIT_WARNING_BITMAP;
|
||||
END_UNION
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
29
PLC/DUTs/Modbus/HoldingRegisters/ST_MODBUS_REG_10.TcDUT
Normal file
29
PLC/DUTs/Modbus/HoldingRegisters/ST_MODBUS_REG_10.TcDUT
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<DUT Name="ST_MODBUS_REG_10" Id="{0c25ea41-552d-4ad4-8369-cc4ac1877b46}">
|
||||
<Declaration><![CDATA[{attribute 'analysis' := '-33'}
|
||||
{attribute 'pack_mode' := '1'}
|
||||
TYPE ST_MODBUS_REG_10 :
|
||||
STRUCT
|
||||
// Addr: 10.000
|
||||
sManufacturer : STRING(32); // 1 char = 1 byte
|
||||
|
||||
// Addr: 10.016
|
||||
sModelname : STRING(32);
|
||||
|
||||
// Addr: 10.032
|
||||
sSerialnumber : STRING(32);
|
||||
|
||||
// Addr: 10.048
|
||||
sBMSVersion : STRING(64);
|
||||
|
||||
// Addr: 10.080
|
||||
uiTotalParallelMembers : UINT; //uint 16bit = 1 Word
|
||||
|
||||
// Addr: 10.081
|
||||
uiActiveParallelMembers : UINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
112
PLC/DUTs/Modbus/HoldingRegisters/ST_MODBUS_REG_11.TcDUT
Normal file
112
PLC/DUTs/Modbus/HoldingRegisters/ST_MODBUS_REG_11.TcDUT
Normal file
@@ -0,0 +1,112 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_MODBUS_REG_11" Id="{7e772293-d4e3-4809-9da8-3d4e0412ede6}">
|
||||
<Declaration><![CDATA[{attribute 'analysis' := '-33'}
|
||||
{attribute 'pack_mode' := '1'}
|
||||
TYPE ST_MODBUS_REG_11 :
|
||||
STRUCT
|
||||
// Addr: 11.000
|
||||
eBatteryStatus : E_BATTERY_STATUS;
|
||||
|
||||
// Addr: 11.001
|
||||
eChargeStatus : E_CHARGE_STATUS;
|
||||
|
||||
// Addr: 11.002
|
||||
// Unit: %
|
||||
uiSelfDischargeRate : UINT; // 16 bit
|
||||
|
||||
// Addr: 11.003
|
||||
// Unit: %
|
||||
uiMaxAllowedSOC : UINT := 100;
|
||||
|
||||
// Addr: 11.004
|
||||
// Unit: %
|
||||
uiMinAllowedSOC : UINT := 0;
|
||||
|
||||
// Addr: 11.005
|
||||
// Unit: %
|
||||
uiCurrentSOC : UINT;
|
||||
|
||||
// Addr: 11.006
|
||||
// Unit: %
|
||||
uiCurrentDOD : UINT;
|
||||
|
||||
// Addr: 11.007
|
||||
// Unit: %
|
||||
uiCurrentSOH : UINT := 100;
|
||||
|
||||
// Addr: 11.008
|
||||
// Unit: Ah
|
||||
udiChargeCapacity : UDINT; // 32bit
|
||||
|
||||
// Addr: 11.010
|
||||
// Unit: Wh
|
||||
udiEnergyCapacity : UDINT;
|
||||
|
||||
// Addr: 11.012
|
||||
// Unit: W
|
||||
udiMaxChargingActivePower : UDINT := 30_000;
|
||||
|
||||
// Addr: 11.014
|
||||
// Unit: W
|
||||
udiMaxDischargingActivePower : UDINT := 30_000;
|
||||
|
||||
// Addr: 11.016
|
||||
// Unit: var
|
||||
udiMaxAvailableInductiveReactivePower : UDINT := 0;
|
||||
|
||||
// Addr: 11.018
|
||||
// Unit: var
|
||||
udiMaxAvailableCapacitiveReactivePower : UDINT := 0;
|
||||
|
||||
// Addr: 11.020
|
||||
// Unit: Wh
|
||||
udiChargedEnergy : UDINT;
|
||||
|
||||
// Addr: 11.022
|
||||
// Unit: Wh
|
||||
udiAvailableEnergy : UDINT;
|
||||
|
||||
// Addr: 11.024
|
||||
// Unit: A
|
||||
diTotalACCurrentPhase1 : DINT;
|
||||
|
||||
// Addr: 11.026
|
||||
// Unit: A
|
||||
diTotalACCurrentPhase2 : DINT;
|
||||
|
||||
// Addr: 11.028
|
||||
// Unit: A
|
||||
diTotalACCurrentPhase3 : DINT;
|
||||
|
||||
// Addr: 11.030
|
||||
// Unit: W
|
||||
diSetpointActivePowerMirror : DINT;
|
||||
|
||||
// Addr: 11.032
|
||||
rSetpointCosPhiMirror : REAL; // 32 bit
|
||||
|
||||
// Addr: 11.034
|
||||
// Unit: W
|
||||
diCurrentActivePower : DINT;
|
||||
|
||||
// Addr: 11.036
|
||||
// Unit: var
|
||||
diCurrentReactivePower : DINT;
|
||||
|
||||
// Addr: 11.038
|
||||
udiLifeMessage : UDINT;
|
||||
|
||||
// Addr: 11.040
|
||||
lwWarningBitmap : LWORD;
|
||||
|
||||
// Addr: 11.044
|
||||
lwErrorBitmap : LWORD;
|
||||
|
||||
// Addr: 11.048 - 11.055
|
||||
stInverterData : ST_MODBUS_REG_11_INVERTER;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_MODBUS_REG_11_INVERTER" Id="{85be2771-b8b8-4deb-b2dd-65fd8611a26c}">
|
||||
<Declaration><![CDATA[TYPE ST_MODBUS_REG_11_INVERTER :
|
||||
STRUCT
|
||||
// Addr: 11.048
|
||||
eInverter1RequestedState : E_KACO_PCU_REQUESTED_STATE;
|
||||
|
||||
// Addr: 11.049
|
||||
eInverter1CurrentState : E_KACO_CURRENT_STATE;
|
||||
|
||||
// Addr: 11.050
|
||||
eInverter1PCUState : E_KACO_PCU_STATE;
|
||||
|
||||
// Addr: 11.051
|
||||
eInverter1PCUError : E_KACO_PCU_ERROR;
|
||||
|
||||
// Addr: 11.052
|
||||
eInverter2RequestedState : E_KACO_PCU_REQUESTED_STATE;
|
||||
|
||||
// Addr: 11.053
|
||||
eInverter2CurrentState : E_KACO_CURRENT_STATE;
|
||||
|
||||
// Addr: 11.054
|
||||
eInverter2PCUState : E_KACO_PCU_STATE;
|
||||
|
||||
// Addr: 11.055
|
||||
eInverter2PCUError : E_KACO_PCU_ERROR;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
24
PLC/DUTs/Modbus/HoldingRegisters/ST_MODBUS_REG_12.TcDUT
Normal file
24
PLC/DUTs/Modbus/HoldingRegisters/ST_MODBUS_REG_12.TcDUT
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_MODBUS_REG_12" Id="{7c428918-2d8d-43ab-8096-edbee8bd4171}">
|
||||
<Declaration><![CDATA[{attribute 'analysis' := '-33'}
|
||||
{attribute 'pack_mode' := '1'}
|
||||
TYPE ST_MODBUS_REG_12 :
|
||||
STRUCT
|
||||
// Unit: W
|
||||
diSetpointActivePower : DINT;
|
||||
|
||||
// Addr: 12.002
|
||||
rSetpointCosPhi : REAL;
|
||||
|
||||
// Addr: 12.004
|
||||
// Can be removed if cosphi can be written in pos and neg range
|
||||
eReactivePowerType : E_REACTIVE_POWER_TYPE;
|
||||
|
||||
// Addr: 12.005
|
||||
wBMSControlsRegister : U_EMS_CONTROLS_REGISTER;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
36
PLC/DUTs/Modbus/HoldingRegisters/ST_MODBUS_REG_13.TcDUT
Normal file
36
PLC/DUTs/Modbus/HoldingRegisters/ST_MODBUS_REG_13.TcDUT
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_MODBUS_REG_13" Id="{ff1eee07-3bd7-4808-a42a-073911e581d6}">
|
||||
<Declaration><![CDATA[{attribute 'pack_mode' := '1'}
|
||||
TYPE ST_MODBUS_REG_13 :
|
||||
STRUCT
|
||||
// String warning active flags
|
||||
// Addr: 13.000
|
||||
wBMSWarningActive : U_BMS_WARNING_REGISTER;
|
||||
|
||||
// String error active
|
||||
// Addr: 13.001
|
||||
wBMSErrorActive : U_BMS_ERROR_REGISTER;
|
||||
|
||||
// String warning active flags
|
||||
// (Bit 0 -> Warning in string 1 active, Bit 1 -> String 2, etc.)
|
||||
// Addr: 13.002
|
||||
wStringWarningActive : WORD;
|
||||
|
||||
// String error active
|
||||
// (Bit 0 -> Error in string 1 active, Bit 1 -> String 2, etc.)
|
||||
// Addr: 13.003
|
||||
wStringErrorActive : WORD;
|
||||
|
||||
// String 1 error active
|
||||
// Addr: 13.004
|
||||
wString1ErrorActive : U_STRING_ERROR_REGISTER;
|
||||
|
||||
// String 2 error active
|
||||
// Addr: 13.005
|
||||
wString2ErrorActive : U_STRING_ERROR_REGISTER;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
28
PLC/DUTs/Modbus/ST_EMS_MODBUS_INTERFACE.TcDUT
Normal file
28
PLC/DUTs/Modbus/ST_EMS_MODBUS_INTERFACE.TcDUT
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="ST_EMS_MODBUS_INTERFACE" Id="{c26c9ee9-feee-46cf-86e6-45d1a1e6819c}">
|
||||
<Declaration><![CDATA[// Speicherbereiche, welche über einen kontinuierlichen Registerbereich
|
||||
// gelesen werden sollen, müssen in einer Struktur mit dem attribut {attribute 'pack_mode' := '1'}
|
||||
// angelegt werden.
|
||||
// Der Grund ist, dass der TwinCAT Modbus Server beim zugriff über den ADS
|
||||
// Server nur die Symbolische erste Adresse anfragt und dann davon ausgeht,
|
||||
// dass die anderen Register im Speicherbereich hintereinander liegen.
|
||||
// Bei rein symbolisch angelegten Variablen müss dies nicht der Fall sein und es kommt zu einem
|
||||
// Fehler beim lesen über die symbolischen grenzen der variablen hinaus.
|
||||
|
||||
{attribute 'pack_mode' := '1'}
|
||||
TYPE ST_EMS_MODBUS_INTERFACE :
|
||||
STRUCT
|
||||
// Modbus Registers 10.000 to 10.999
|
||||
stModbusReg10 : ST_MODBUS_REG_10;
|
||||
|
||||
// Modbus Registers 11.000 to 11.999
|
||||
stModbusReg11 : ST_MODBUS_REG_11;
|
||||
|
||||
// Modbus Registers 12.000 to 12.999
|
||||
stModbusReg12 : ST_MODBUS_REG_12;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
21
PLC/DUTs/SEMI_AUTO/ST_SEMI_AUTO_MODULE_ENABLE.TcDUT
Normal file
21
PLC/DUTs/SEMI_AUTO/ST_SEMI_AUTO_MODULE_ENABLE.TcDUT
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_SEMI_AUTO_MODULE_ENABLE" Id="{0a50ad4d-d929-43a2-84d3-8240a20f96f0}">
|
||||
<Declaration><![CDATA[TYPE ST_SEMI_AUTO_MODULE_ENABLE :
|
||||
STRUCT
|
||||
// Manual enable unit 1
|
||||
xSemiAutoEnableUnit1 : BOOL;
|
||||
|
||||
// Manual enable unit 2
|
||||
xSemiAutoEnableUnit2 : BOOL;
|
||||
|
||||
// Manual enable unit 3
|
||||
xSemiAutoEnableUnit3 : BOOL;
|
||||
|
||||
// Manual enable unit 4
|
||||
xSemiAutoEnableUnit4 : BOOL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
18
PLC/DUTs/SEMI_AUTO/ST_SEMI_AUTO_STRING_ENABLE.TcDUT
Normal file
18
PLC/DUTs/SEMI_AUTO/ST_SEMI_AUTO_STRING_ENABLE.TcDUT
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_SEMI_AUTO_STRING_ENABLE" Id="{a3d678f9-e2d7-4e4a-b890-810149befa04}">
|
||||
<Declaration><![CDATA[TYPE ST_SEMI_AUTO_STRING_ENABLE :
|
||||
STRUCT
|
||||
// Modul 1
|
||||
stSemiAutoModul1 : ST_SEMI_AUTO_MODULE_ENABLE;
|
||||
|
||||
// Modul 2
|
||||
stSemiAutoModul2 : ST_SEMI_AUTO_MODULE_ENABLE;
|
||||
|
||||
// Modul 3
|
||||
stSemiAutoModul3 : ST_SEMI_AUTO_MODULE_ENABLE;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
16
PLC/DUTs/ST_AUTO_HMI_INTERFACE.TcDUT
Normal file
16
PLC/DUTs/ST_AUTO_HMI_INTERFACE.TcDUT
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_AUTO_HMI_INTERFACE" Id="{2b90c47c-9132-4aec-a172-6289a0ff4dc3}">
|
||||
<Declaration><![CDATA[TYPE ST_AUTO_HMI_INTERFACE :
|
||||
STRUCT
|
||||
stStartAutoButton : ST_HMI_CONTROL_BUTTON := (xRelease := TRUE);
|
||||
stStopAutoButton : ST_HMI_CONTROL_BUTTON := (xRelease := TRUE);
|
||||
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
diSetpointAutomatic : DINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
29
PLC/DUTs/ST_MODULE_HMI_INTERFACE.TcDUT
Normal file
29
PLC/DUTs/ST_MODULE_HMI_INTERFACE.TcDUT
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<DUT Name="ST_MODULE_HMI_INTERFACE" Id="{11e89a54-55b7-4731-b5d2-c1f68fd12879}">
|
||||
<Declaration><![CDATA[TYPE ST_MODULE_HMI_INTERFACE :
|
||||
STRUCT
|
||||
stHMIInterfaceUnit1 : ST_UNIT_HMI_INTERFACE;
|
||||
stHMIInterfaceUnit2 : ST_UNIT_HMI_INTERFACE;
|
||||
stHMIInterfaceUnit3 : ST_UNIT_HMI_INTERFACE;
|
||||
stHMIInterfaceUnit4 : ST_UNIT_HMI_INTERFACE;
|
||||
|
||||
// Temperature sensor control cabinet
|
||||
stTempCabinet : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
// Current voltage for HMI
|
||||
// ==============================
|
||||
rVoltage : REAL;
|
||||
|
||||
// Current current for HMI
|
||||
// ==============================
|
||||
rCurrent : REAL;
|
||||
|
||||
// Current status
|
||||
// ====================================
|
||||
eStatus : E_COMPONENT_STATUS;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
14
PLC/DUTs/ST_MODULE_VOLT_CONFIG.TcDUT
Normal file
14
PLC/DUTs/ST_MODULE_VOLT_CONFIG.TcDUT
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="ST_MODULE_VOLT_CONFIG" Id="{5bd0445f-1079-4488-9137-b6d029b50b39}">
|
||||
<Declaration><![CDATA[TYPE ST_MODULE_VOLT_CONFIG :
|
||||
STRUCT
|
||||
xUnit1Is1500V : BOOL;
|
||||
xUnit2Is1500V : BOOL;
|
||||
xUnit3Is1500V : BOOL;
|
||||
xUnit4Is1500V : BOOL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
39
PLC/DUTs/ST_STRING_HMI_INTERFACE.TcDUT
Normal file
39
PLC/DUTs/ST_STRING_HMI_INTERFACE.TcDUT
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<DUT Name="ST_STRING_HMI_INTERFACE" Id="{b74e184a-a1d0-4499-8ac0-7e2226af9a4f}">
|
||||
<Declaration><![CDATA[TYPE ST_STRING_HMI_INTERFACE :
|
||||
STRUCT
|
||||
stHMIInterfaceModule1 : ST_MODULE_HMI_INTERFACE;
|
||||
stHMIInterfaceModule2 : ST_MODULE_HMI_INTERFACE;
|
||||
stHMIInterfaceModule3 : ST_MODULE_HMI_INTERFACE;
|
||||
|
||||
// Temperature sensor SCS control cabinet
|
||||
stTempCabinetSCS : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
// Current voltage for HMI
|
||||
// ==============================
|
||||
rVoltage : REAL;
|
||||
|
||||
// Current current for HMI
|
||||
// ==============================
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rCurrent : REAL;
|
||||
|
||||
// Current status
|
||||
// ====================================
|
||||
eStatus : E_COMPONENT_STATUS;
|
||||
|
||||
// Current string current
|
||||
// ==============================
|
||||
//stStringCurrent : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
// Current inverter data
|
||||
// ==============================
|
||||
stInverterData : ST_SUNSPEC_CURRENT_VALUES;
|
||||
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
13
PLC/DUTs/ST_STRING_VOLT_CONFIG.TcDUT
Normal file
13
PLC/DUTs/ST_STRING_VOLT_CONFIG.TcDUT
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="ST_STRING_VOLT_CONFIG" Id="{9f94c15d-9aa7-4320-915e-f68d4e087e39}">
|
||||
<Declaration><![CDATA[TYPE ST_STRING_VOLT_CONFIG :
|
||||
STRUCT
|
||||
stModule1VoltConfig : ST_MODULE_VOLT_CONFIG;
|
||||
stModule2VoltConfig : ST_MODULE_VOLT_CONFIG;
|
||||
stModule3VoltConfig : ST_MODULE_VOLT_CONFIG;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
83
PLC/DUTs/ST_UNIT_CONFIG.TcDUT
Normal file
83
PLC/DUTs/ST_UNIT_CONFIG.TcDUT
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="ST_UNIT_CONFIG" Id="{75a00288-1f08-4f47-846c-fa7c44b2279c}">
|
||||
<Declaration><![CDATA[TYPE ST_UNIT_CONFIG :
|
||||
STRUCT
|
||||
// Pump posolyt
|
||||
// ===================================
|
||||
stConfigPosolytPump : ST_MOTOR_ANALOG_CONFIG;
|
||||
|
||||
|
||||
// Pump negolyt
|
||||
// ===================================
|
||||
stConfigNegolytPump : ST_MOTOR_ANALOG_CONFIG;
|
||||
|
||||
|
||||
// Valves posolyt
|
||||
// ===================================
|
||||
stConfigPosolytValve : ST_ValveConfig;
|
||||
|
||||
|
||||
// Valves negolyt
|
||||
// ===================================
|
||||
stConfigNegolytValve : ST_ValveConfig;
|
||||
|
||||
|
||||
// Pressure sensor posolyt segment inlet
|
||||
//====================================
|
||||
stConfigPosolytPressureSegmentInlet : ST_ANALOG_IO_CONFIG;
|
||||
stEWLPosolytPressureSegmentInlet : ST_ANALOG_EW_LEVELS;
|
||||
stEWDPosolytPressureSegmentInlet : ST_ANALOG_EW_DELAYS;
|
||||
|
||||
|
||||
// Pressure sensor negolyt segment inlet
|
||||
//====================================
|
||||
stConfigNegolytPressureSegmentInlet : ST_ANALOG_IO_CONFIG;
|
||||
stEWLNegolytPressureSegmentInlet : ST_ANALOG_EW_LEVELS;
|
||||
stEWDNegolytPressureSegmentInlet : ST_ANALOG_EW_DELAYS;
|
||||
|
||||
|
||||
// Pressure sensor posolyt tank inlet
|
||||
//====================================
|
||||
stConfigPosolytPressureTankInlet : ST_ANALOG_IO_CONFIG;
|
||||
stEWLPosolytPressureTankInlet : ST_ANALOG_EW_LEVELS;
|
||||
stEWDPosolytPressureTankInlet : ST_ANALOG_EW_DELAYS;
|
||||
|
||||
|
||||
// Pressure sensor posolyt tank inlet
|
||||
//====================================
|
||||
stConfigNegolytPressureTankInlet : ST_ANALOG_IO_CONFIG;
|
||||
stEWLNegolytPressureTankInlet : ST_ANALOG_EW_LEVELS;
|
||||
stEWDNegolytPressureTankInlet : ST_ANALOG_EW_DELAYS;
|
||||
|
||||
|
||||
// Temperature sensor posolyt tank inlet
|
||||
//====================================
|
||||
stConfigPosolytTempTankInlet : ST_ANALOG_IO_CONFIG;
|
||||
stEWLPosolytTempTankInlet : ST_ANALOG_EW_LEVELS;
|
||||
stEWDPosolytTempTankInlet : ST_ANALOG_EW_DELAYS;
|
||||
|
||||
|
||||
// Temperature sensor negolyt tank inlet
|
||||
//====================================
|
||||
stConfigNegolytTempTankInlet : ST_ANALOG_IO_CONFIG;
|
||||
stEWLNegolytTempTankInlet : ST_ANALOG_EW_LEVELS;
|
||||
stEWDNegolytTempTankInlet : ST_ANALOG_EW_DELAYS;
|
||||
|
||||
|
||||
// Voltage segment
|
||||
//====================================
|
||||
stConfigVoltageSegment : ST_ANALOG_IO_CONFIG;
|
||||
stEWLVoltageSegment : ST_ANALOG_EW_LEVELS;
|
||||
stEWDVoltageSegment : ST_ANALOG_EW_DELAYS;
|
||||
|
||||
|
||||
// Max pressure difference between posolyt and negolyt segment inlet
|
||||
//====================================
|
||||
rMaxDeltaPSegmentInlet : REAL;
|
||||
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
81
PLC/DUTs/ST_UNIT_HMI_INTERFACE.TcDUT
Normal file
81
PLC/DUTs/ST_UNIT_HMI_INTERFACE.TcDUT
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_UNIT_HMI_INTERFACE" Id="{a46d51f7-c17c-44e4-be59-edb877b3b5dc}">
|
||||
<Declaration><![CDATA[TYPE ST_UNIT_HMI_INTERFACE :
|
||||
STRUCT
|
||||
// Pump posolyt
|
||||
// ===================================
|
||||
stNS11 : ST_HMI_ANALOG_MOTOR_DATA;
|
||||
|
||||
|
||||
// Pump negolyt
|
||||
// ===================================
|
||||
stNS21 : ST_HMI_ANALOG_MOTOR_DATA;
|
||||
|
||||
|
||||
// Valve posolyt
|
||||
// ===================================
|
||||
stNS12 : ST_HMI_VALVE_DATA;
|
||||
|
||||
|
||||
// Valve negolyt
|
||||
// ===================================
|
||||
stNS22 : ST_HMI_VALVE_DATA;
|
||||
|
||||
|
||||
// Drucksensoren Posolyt
|
||||
//====================================
|
||||
stP11 : ST_HMI_ANALOG_VALUE;
|
||||
stP12 : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
|
||||
// Drucksensoren Negolyt
|
||||
//====================================
|
||||
stP21 : ST_HMI_ANALOG_VALUE;
|
||||
stP22 : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
|
||||
// Temperature sensor posolyt tank inlet
|
||||
//====================================
|
||||
stT11 : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
|
||||
// Temperature sensor negolyt tank inlet
|
||||
//====================================
|
||||
stT21 : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
|
||||
// Voltage sensors
|
||||
// ===================================
|
||||
stE31 : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
|
||||
// Current voltage for HMI
|
||||
// ==============================
|
||||
rVoltage : REAL;
|
||||
|
||||
|
||||
// Current current for HMI
|
||||
// ==============================
|
||||
rCurrent : REAL;
|
||||
|
||||
|
||||
// Current status
|
||||
// ====================================
|
||||
eStatus : E_COMPONENT_STATUS;
|
||||
|
||||
|
||||
// Semi auto enable
|
||||
// ====================================
|
||||
stButtonSemiAutoEnable : ST_HMI_CONTROL_BUTTON;
|
||||
stButtonSemiAutoDisable : ST_HMI_CONTROL_BUTTON;
|
||||
|
||||
// Aknowledge all alarms button
|
||||
// ===================================
|
||||
//stButtonAckAlarms : ST_HMI_CONTROL_BUTTON;
|
||||
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
316
PLC/GVLs/GVL_CONFIG.TcGVL
Normal file
316
PLC/GVLs/GVL_CONFIG.TcGVL
Normal file
@@ -0,0 +1,316 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<GVL Name="GVL_CONFIG" Id="{0773bf51-0237-454d-a970-cfd896054edb}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
VAR_GLOBAL CONSTANT
|
||||
// ===========================
|
||||
// Number of active strings
|
||||
// ===========================
|
||||
uiNumberOfStrings : UINT := 2;
|
||||
uiNumberOfUnits : UINT := uiNumberOfStrings * 12;
|
||||
END_VAR
|
||||
VAR_GLOBAL PERSISTENT
|
||||
axStringEnabled : ARRAY [0..uiNumberOfStrings-1] OF BOOL;
|
||||
|
||||
// ===========================
|
||||
// Unit hardware config
|
||||
// ===========================
|
||||
stUnitConfig : ST_UNIT_CONFIG :=
|
||||
(
|
||||
// Pump poslyt segment inlet
|
||||
stConfigPosolytPump :=
|
||||
(
|
||||
rTargetMin := 0.0,
|
||||
rTargetMax := 100.0,
|
||||
timRampUpTime := T#10S,
|
||||
timRampDownTime := T#10S,
|
||||
stAnalogInputConfig := (iAIMax := 108, iAIMin := 0, rPVMax := 100, rPVMin := 0, sUnit := '%'),
|
||||
stAnalogOutputConfig := (iAIMax := 29490, iAIMin := 0, rPVMax := 100, rPVMin := 4.807),
|
||||
xHasAnalogFeedback := TRUE,
|
||||
xHasMCBFeedback := TRUE,
|
||||
xHasRepairSwitchFeedback := FALSE
|
||||
),
|
||||
|
||||
// Pump negolyt segment inlet
|
||||
stConfigNegolytPump :=
|
||||
(
|
||||
rTargetMin := 0.0,
|
||||
rTargetMax := 100.0,
|
||||
timRampUpTime := T#5S,
|
||||
timRampDownTime := T#5S,
|
||||
stAnalogInputConfig := (iAIMax := 108, iAIMin := 0, rPVMax := 100, rPVMin := 0, sUnit := '%'),
|
||||
stAnalogOutputConfig := (iAIMax := 29490, iAIMin := 0, rPVMax := 100, rPVMin := 4.807),
|
||||
xHasAnalogFeedback := TRUE,
|
||||
xHasMCBFeedback := TRUE,
|
||||
xHasRepairSwitchFeedback := FALSE
|
||||
),
|
||||
|
||||
// Valve posolyt tank outlet
|
||||
stConfigPosolytValve := (timTimeoutOpen := T#10S, timTimeoutClose := T#10S, xHasOpenFeedback := TRUE, xHasClosedFeedback := TRUE),
|
||||
|
||||
// Valve negolyt tank outlet
|
||||
stConfigNegolytValve := (timTimeoutOpen := T#10S, timTimeoutClose := T#10S, xHasOpenFeedback := TRUE, xHasClosedFeedback := TRUE),
|
||||
|
||||
// Pressure posolyt segment inlet
|
||||
stConfigPosolytPressureSegmentInlet := (iAIMax := 32767, iAIMin := 0, rPVMax := 2000, rPVMin := 0, sUnit := 'mbar'),
|
||||
stEWLPosolytPressureSegmentInlet := (rErrorMin := 200, rWarningMin := 250, rWarningMax := 550, rErrorMax := 600),
|
||||
stEWDPosolytPressureSegmentInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
timHardwareSignalLevelOff := T#5S,
|
||||
timErrorLowOn := T#0S,
|
||||
timErrorLowOff := T#5S,
|
||||
timWarningLowOn := T#1S,
|
||||
timWarningLowOff := T#5S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningHighOff := T#5S,
|
||||
timErrorHighOn := T#0S,
|
||||
timErrorHighOff := T#5S
|
||||
),
|
||||
|
||||
// Pressure negolyt segment inlet
|
||||
stConfigNegolytPressureSegmentInlet := (iAIMax := 32767, iAIMin := 0, rPVMax := 2000, rPVMin := 0, sUnit := 'mbar'),
|
||||
stEWLNegolytPressureSegmentInlet := (rErrorMin := 200, rWarningMin := 250, rWarningMax := 550, rErrorMax := 600),
|
||||
stEWDNegolytPressureSegmentInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
timHardwareSignalLevelOff := T#5S,
|
||||
timErrorLowOn := T#0S,
|
||||
timErrorLowOff := T#5S,
|
||||
timWarningLowOn := T#1S,
|
||||
timWarningLowOff := T#5S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningHighOff := T#5S,
|
||||
timErrorHighOn := T#0S,
|
||||
timErrorHighOff := T#5S
|
||||
),
|
||||
|
||||
// Pressure posolyt tank inlet
|
||||
stConfigPosolytPressureTankInlet := (iAIMax := 32767, iAIMin := 0, rPVMax := 2000, rPVMin := 0, sUnit := 'mbar'),
|
||||
stEWLPosolytPressureTankInlet := (rErrorMin := -20, rWarningMin := -10, rWarningMax := 50, rErrorMax := 75),
|
||||
stEWDPosolytPressureTankInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
timHardwareSignalLevelOff := T#5S,
|
||||
timErrorLowOn := T#0S,
|
||||
timErrorLowOff := T#5S,
|
||||
timWarningLowOn := T#1S,
|
||||
timWarningLowOff := T#5S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningHighOff := T#5S,
|
||||
timErrorHighOn := T#0S,
|
||||
timErrorHighOff := T#5S
|
||||
),
|
||||
|
||||
// Pressure negolyt tank inlet
|
||||
stConfigNegolytPressureTankInlet := (iAIMax := 32767, iAIMin := 0, rPVMax := 2000, rPVMin := 0, sUnit := 'mbar'),
|
||||
stEWLNegolytPressureTankInlet := (rErrorMin := -20, rWarningMin := -10, rWarningMax := 50, rErrorMax := 75),
|
||||
stEWDNegolytPressureTankInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
timHardwareSignalLevelOff := T#5S,
|
||||
timErrorLowOn := T#0S,
|
||||
timErrorLowOff := T#5S,
|
||||
timWarningLowOn := T#1S,
|
||||
timWarningLowOff := T#5S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningHighOff := T#5S,
|
||||
timErrorHighOn := T#0S,
|
||||
timErrorHighOff := T#5S
|
||||
),
|
||||
|
||||
// Temperature sensor posolyt tank inlet
|
||||
stConfigPosolytTempTankInlet := (iAIMax := 32767, iAIMin := -32768, rPVMax := 3276.7, rPVMin := -3276.8, sUnit := '°C'),
|
||||
stEWLPosolytTempTankInlet := (rErrorMin := 10, rWarningMin := 15, rWarningMax := 42, rErrorMax := 45),
|
||||
stEWDPosolytTempTankInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
timHardwareSignalLevelOff := T#5S,
|
||||
timErrorLowOn := T#0S,
|
||||
timErrorLowOff := T#5S,
|
||||
timWarningLowOn := T#1S,
|
||||
timWarningLowOff := T#5S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningHighOff := T#5S,
|
||||
timErrorHighOn := T#0S,
|
||||
timErrorHighOff := T#5S
|
||||
),
|
||||
|
||||
// Temperature sensor negolyt tank inlet
|
||||
stConfigNegolytTempTankInlet := (iAIMax := 32767, iAIMin := -32768, rPVMax := 3276.7, rPVMin := -3276.8, sUnit := '°C'),
|
||||
stEWLNegolytTempTankInlet := (rErrorMin := 15, rWarningMin := 15, rWarningMax := 42, rErrorMax := 45),
|
||||
stEWDNegolytTempTankInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
timHardwareSignalLevelOff := T#5S,
|
||||
timErrorLowOn := T#0S,
|
||||
timErrorLowOff := T#5S,
|
||||
timWarningLowOn := T#1S,
|
||||
timWarningLowOff := T#5S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningHighOff := T#5S,
|
||||
timErrorHighOn := T#0S,
|
||||
timErrorHighOff := T#5S
|
||||
),
|
||||
|
||||
// Voltage sensor segment
|
||||
// EL3214-0090 CoE Verzeichnis
|
||||
// Index 0x80n0:02 "Presentation" = Signed(0) -> Resolution 1/10°C
|
||||
// Index 0x80n0:19 "RTD Element" = PT100(0)
|
||||
stConfigVoltageSegment := (iAIMax := 32767, iAIMin := 0, rPVMax := 150, rPVMin := 0, sUnit := 'V'),
|
||||
stEWLVoltageSegment := (rErrorMin := 50, rWarningMin := 54, rWarningMax := 79, rErrorMax := 80),
|
||||
stEWDVoltageSegment :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
timHardwareSignalLevelOff := T#5S,
|
||||
timErrorLowOn := T#0S,
|
||||
timErrorLowOff := T#5S,
|
||||
timWarningLowOn := T#1S,
|
||||
timWarningLowOff := T#5S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningHighOff := T#5S,
|
||||
timErrorHighOn := T#0S,
|
||||
timErrorHighOff := T#5S
|
||||
),
|
||||
|
||||
rMaxDeltaPSegmentInlet := 50.0
|
||||
);
|
||||
|
||||
// ===========================
|
||||
// SCS Current measurement settings
|
||||
// ===========================
|
||||
stConfigSCSCurrent : ST_ANALOG_IO_CONFIG := (iAIMax := 32767, iAIMin := 0, rPVMax := 200, rPVMin := 0, sUnit := 'A');
|
||||
stEWLSCSCurrent : ST_ANALOG_EW_LEVELS;
|
||||
stEWDSCSCurrent : ST_ANALOG_EW_DELAYS;
|
||||
|
||||
// ===========================
|
||||
// Control cabinet temperature sensor config
|
||||
// ===========================
|
||||
// Temperature sensor control cabinets
|
||||
stConfigCabinetTemp : ST_ANALOG_IO_CONFIG := (iAIMax := 32767, iAIMin := -32768, rPVMax := 3276.7, rPVMin := -3276.8, sUnit := '°C');
|
||||
stEWLCabinetTemp : ST_ANALOG_EW_LEVELS := (rErrorMin := -20, rWarningMin := -15, rWarningMax := 40, rErrorMax := 80);
|
||||
stEWDCabinetTemp : ST_ANALOG_EW_DELAYS :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
timHardwareSignalLevelOff := T#5S,
|
||||
timErrorLowOn := T#1S,
|
||||
timErrorLowOff := T#5S,
|
||||
timWarningLowOn := T#1S,
|
||||
timWarningLowOff := T#5S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningHighOff := T#5S,
|
||||
timErrorHighOn := T#1S,
|
||||
timErrorHighOff := T#5S
|
||||
);
|
||||
|
||||
|
||||
// ===========================
|
||||
// General settings
|
||||
// ===========================
|
||||
|
||||
// Pump posolyt on power in %
|
||||
rPumpPosolytOnPower : REAL := 70.0;
|
||||
|
||||
// Pump negolyt on power in %
|
||||
rPumpNegolytOnPower : REAL := 70.0;
|
||||
|
||||
// Pump posolyt discharge segment without inverter power in %
|
||||
rPumpPosolytDisChrgPower : REAL := 50.0;
|
||||
|
||||
// Pump posolyt discharge segment without inverter power in %
|
||||
rPumpNegolytDisChrgPower : REAL := 50.0;
|
||||
|
||||
// Unit voltage pumps shutoff threshold (Volt)
|
||||
rPumpshutoffThreshold : REAL := 15.0;
|
||||
|
||||
// Minimum unit voltage required for inverter startup (Volt)
|
||||
rMinimumUnitVoltage : REAL := 55.0;
|
||||
|
||||
// Maximum unit voltage for fully charged (Volt)
|
||||
rMaximumUnitVoltage : REAL := 78.5;
|
||||
|
||||
// Delta value to minimum unit voltage for shutdown discharge (Volt)
|
||||
rDeltaUnitVoltageShutdownDischarge : REAL := 5.0;
|
||||
|
||||
// Maximum absolute voltage difference
|
||||
// between units in the same module
|
||||
rMaxAbsDiffVoltageUnitsOnModule : REAL := 10.0;
|
||||
|
||||
// Maximum absolute voltage difference
|
||||
// between Modules (Volt)
|
||||
rMaxAbsDiffVoltageModulesInString : REAL := 20.0;
|
||||
|
||||
// Minimum absolute power command to enable battery (Watt)
|
||||
diMinimumAbsPowerForEnable : DINT := 100;
|
||||
|
||||
// Maximum allowed charging power (Watt) per String
|
||||
// 24.000 W -> 2.000 W per Unit
|
||||
diMaxStringChargingPower : DINT := -36_000;
|
||||
|
||||
// Maximum allowed discharging power (Watt) per String
|
||||
// 24.000 W -> 2.000 W per Unit
|
||||
diMaxStringDischargePower : DINT := 36_000;
|
||||
|
||||
// Inverter ip address for string 1
|
||||
sInverterIpString1 : STRING := '192.168.42.10';
|
||||
|
||||
// Inverter ip address for string 2
|
||||
sInverterIpString2 : STRING := '192.168.42.20';
|
||||
|
||||
timInverterStartupTimeout : TIME := T#3M;
|
||||
|
||||
// Absolute shutdown discharge power (Watt)
|
||||
// 12.000 W -> 1.000 W per unit
|
||||
rAbsShutdownDischargePower : REAL := 6_500;
|
||||
|
||||
// Allow inverter fast shutdown discharge
|
||||
xShutdownDischargeWithInverter : BOOL := FALSE;
|
||||
|
||||
// String fully charged voltage (Volt)
|
||||
// 960 V -> 80 V per Unit
|
||||
rStringFullyChargedVoltage : REAL := 960.0;
|
||||
|
||||
// String empty voltage (Volt) (617V is needed for the inverter to start up -> 55.0V per Segment)
|
||||
rStringEmptyVoltage : REAL := 660.0;
|
||||
|
||||
// Unit wait startup time (was 1 minute, reduced because of Doppelhöcker-Test)
|
||||
timUnitStartupTime : TIME := T#15S;
|
||||
|
||||
// Unit balancing wait startup time
|
||||
timUnitBalancingStartupTime : TIME := T#3M;
|
||||
|
||||
// All modules in string not ready timeout
|
||||
timStringReadyTimeout : TIME := T#6M;
|
||||
|
||||
// Timeout for isolation error
|
||||
timIsoErrorTimeout : TIME := T#20S;
|
||||
|
||||
// Balancing factor
|
||||
rBalancingFactor : REAL := 20.0;
|
||||
|
||||
// Timeout heartbeat from EMS
|
||||
timEMSHeartbeatTimeout : TIME := T#5S;
|
||||
|
||||
// Flag if charging should be done with cv phase at end
|
||||
xCVCharging : BOOL := FALSE;
|
||||
|
||||
// Controller parameters for cv charging
|
||||
rCVKp : REAL := 0.0;
|
||||
// In ms
|
||||
rCVTn : REAL := 0.0;
|
||||
|
||||
// Minimum current for cv charging in Amps
|
||||
rMinCVCurrentForFull : REAL := 5.0;
|
||||
|
||||
// Time for current to be below set target before cv charging is done
|
||||
timCVCurrentReached : TIME := T#10S;
|
||||
|
||||
// Dummy to deactivate functions
|
||||
{attribute 'analysis' := '-33'}
|
||||
xDummy : BOOL := FALSE;
|
||||
|
||||
udiMaxConsecutiveInvError : UDINT := 10;
|
||||
|
||||
END_VAR]]></Declaration>
|
||||
</GVL>
|
||||
</TcPlcObject>
|
||||
36
PLC/GVLs/GVL_MODBUS.TcGVL
Normal file
36
PLC/GVLs/GVL_MODBUS.TcGVL
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<GVL Name="GVL_MODBUS" Id="{913a9222-1338-4c08-b758-91c1bd26dcd9}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
VAR_GLOBAL
|
||||
// Modbus interface to customer EMS
|
||||
stModbusEMSComm : ST_EMS_MODBUS_INTERFACE := (
|
||||
stModbusReg10 := (
|
||||
sManufacturer := 'cmblu energy ag',
|
||||
sModelname := 'all liquid',
|
||||
sSerialnumber := '202312151643',
|
||||
sBMSVersion := '0.8.0',
|
||||
uiTotalParallelMembers := 2,
|
||||
uiActiveParallelMembers := 0),
|
||||
stModbusReg11 := (
|
||||
eChargeStatus := E_CHARGE_STATUS.UNDEFINED,
|
||||
eBatteryStatus := E_BATTERY_STATUS.OFF)
|
||||
);
|
||||
|
||||
// Addr: 13.000
|
||||
stBMSErrorReg : ST_MODBUS_REG_13;
|
||||
|
||||
// Confirm alarms through modbus
|
||||
// Addr: 13.006
|
||||
wConfirmAlarms : WORD;
|
||||
|
||||
// Addr: 14.000 -> 14.047
|
||||
// Index 0 -> Unit 1, Index 1 -> Unit 2 etc.
|
||||
awWarningsUnitsActive : ARRAY [0..(GVL_CONFIG.uiNumberOfUnits-1)] OF U_UNIT_WARNING_REGISTER;
|
||||
|
||||
// Addr: 15.000 -> 15.047
|
||||
// Index 0 -> Unit 1, Index 1 -> Unit 2 etc.
|
||||
awErrorsUnitsActive : ARRAY [0..(GVL_CONFIG.uiNumberOfUnits-1)] OF U_UNIT_ERROR_REGISTER;
|
||||
END_VAR]]></Declaration>
|
||||
</GVL>
|
||||
</TcPlcObject>
|
||||
9
PLC/GVLs/GVL_PowerDistribution.TcGVL
Normal file
9
PLC/GVLs/GVL_PowerDistribution.TcGVL
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<GVL Name="GVL_PowerDistribution" Id="{59a6cd50-20bf-488e-9d38-00b4a9565d56}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
VAR_GLOBAL
|
||||
|
||||
END_VAR]]></Declaration>
|
||||
</GVL>
|
||||
</TcPlcObject>
|
||||
53
PLC/GVLs/GVL_SCADA.TcGVL
Normal file
53
PLC/GVLs/GVL_SCADA.TcGVL
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<GVL Name="GVL_SCADA" Id="{8186ff04-764f-4b24-8a6b-d0a44d528e6f}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
VAR_GLOBAL
|
||||
// Array for string HMI
|
||||
stHMIInterface : ARRAY [0..1] OF ST_STRING_HMI_INTERFACE;
|
||||
|
||||
// Temperature sensor BMS control cabinet
|
||||
stTempCabinetBMS : ST_HMI_ANALOG_VALUE;
|
||||
|
||||
// Acknowledge alarm button
|
||||
stAckAlarmsButton : ST_HMI_CONTROL_BUTTON := (xRelease := TRUE);
|
||||
|
||||
// HMI interface to control the battery throught the HMI
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
stAutomaticModeHMI : ST_AUTO_HMI_INTERFACE;
|
||||
|
||||
// Requested control mode by HMI
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
eRequestedControlMode : E_BMS_CONTROL_MODE;
|
||||
|
||||
// Current control mode
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
eCurrentControlMode : E_BMS_CONTROL_MODE;
|
||||
|
||||
// Can change current control mode
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
xCanChangeControlMode : BOOL;
|
||||
|
||||
// Current battery power
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
diCurrentBatteryPower : DINT;
|
||||
|
||||
// Last power charged value
|
||||
lrChargedPowerValueWH : LREAL;
|
||||
|
||||
// Last power discharged value
|
||||
lrDischargedPowerValueWH : LREAL;
|
||||
|
||||
// Last discharged utility power value
|
||||
lrLastCycleUtilityPowerValueWh : LREAL;
|
||||
|
||||
// Cycle status
|
||||
eCycleStatus : E_CYCLE_STATUS;
|
||||
|
||||
xDummy : BOOL := FALSE;
|
||||
END_VAR]]></Declaration>
|
||||
</GVL>
|
||||
</TcPlcObject>
|
||||
2691
PLC/PLC.plcproj
Normal file
2691
PLC/PLC.plcproj
Normal file
File diff suppressed because it is too large
Load Diff
621
PLC/PLC.tmc
Normal file
621
PLC/PLC.tmc
Normal file
File diff suppressed because one or more lines are too long
651
PLC/POUs/FB_Module.TcPOU
Normal file
651
PLC/POUs/FB_Module.TcPOU
Normal file
@@ -0,0 +1,651 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<POU Name="FB_Module" Id="{87be924f-018d-4c09-997b-f0c0054414cc}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Module
|
||||
VAR_INPUT
|
||||
// Emergency stop ok
|
||||
xEmergencyStopOk : BOOL;
|
||||
|
||||
// Unit numbering start (0 based index)
|
||||
// Unit 1 -> Index 0
|
||||
uiFirstUnitIndex : UINT;
|
||||
|
||||
// Enable
|
||||
xEnable : BOOL;
|
||||
|
||||
// Start balancing
|
||||
xStartBalancing : BOOL;
|
||||
|
||||
// Module in safety check mode
|
||||
xInSafetyCheckMode : BOOL;
|
||||
|
||||
// String operation mode
|
||||
eStringOperatingMode : E_STRING_OPERATING_MODE;
|
||||
|
||||
// All safetyinterlocks are ok
|
||||
xSafetyIntlksOk : BOOL;
|
||||
|
||||
// Module completely off
|
||||
xOff : BOOL := TRUE;
|
||||
|
||||
// HMI Interface
|
||||
refstHMIInterface : REFERENCE TO ST_MODULE_HMI_INTERFACE;
|
||||
|
||||
// Release alarms
|
||||
xReleaseErrors : BOOL;
|
||||
|
||||
// Release analog io limit errors
|
||||
xReleaseLimitErrors : BOOL;
|
||||
|
||||
// Release manual mode
|
||||
xReleaseManualMode : BOOL;
|
||||
|
||||
// Switch all components to manual mode
|
||||
xAllToManualMode : BOOL;
|
||||
|
||||
// Input to confirm all errors
|
||||
xConfirmAlarms : BOOL;
|
||||
|
||||
// Balancing target Voltage
|
||||
rBalancingTargetVoltage : REAL;
|
||||
|
||||
// Inverter enabled status
|
||||
xInverterEnabled : BOOL;
|
||||
|
||||
// Leakage double segment 1/2
|
||||
xLeakageSegments12 AT %I* : BOOL;
|
||||
|
||||
// Leakage double segment 3/4
|
||||
xLeakageSegments34 AT %I* : BOOL;
|
||||
|
||||
// Leakage tank
|
||||
xLeakageTank AT %I* : BOOL;
|
||||
|
||||
// Current current value from string to copy to HMI interface
|
||||
rCurrent : REAL;
|
||||
|
||||
// Current EtherCAT state
|
||||
uiECState AT %I* : UINT;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
// Module voltage
|
||||
rCurrentVoltage : REAL;
|
||||
|
||||
// Module ready
|
||||
xReady : BOOL;
|
||||
|
||||
// Module in shutdown segment discharge mode
|
||||
xInShutdownDischargeMode : BOOL;
|
||||
|
||||
// Module can be discharged during shutdown sequence
|
||||
xShutdownDischargeAllowed : BOOL;
|
||||
|
||||
// One unit has an error
|
||||
xError : BOOL;
|
||||
|
||||
// One unit has a warning
|
||||
xWarning : BOOL;
|
||||
|
||||
// Temperature control cabinet above 40 °C
|
||||
xTempCabinetWarning : BOOL;
|
||||
|
||||
// All modules in automatic mode
|
||||
xAllUnitsInAutomatic : BOOL;
|
||||
|
||||
// Smallest segment voltage
|
||||
rSmallestSegmentVoltage : REAL;
|
||||
|
||||
// Highest segment voltage
|
||||
rHighestSegmentVoltage : REAL;
|
||||
|
||||
// Balancing done
|
||||
xBalancingDone : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
_fbUnit1 : FB_Unit(CONCAT(Name, ' - Unit 1'));
|
||||
_fbUnit2 : FB_Unit(CONCAT(Name, ' - Unit 2'));
|
||||
_fbUnit3 : FB_Unit(CONCAT(Name, ' - Unit 3'));
|
||||
_fbUnit4 : FB_Unit(CONCAT(Name, ' - Unit 4'));
|
||||
|
||||
// Temperature sensor cabinet
|
||||
_fbTempSensorCabinet : FB_AnalogInput(CONCAT(Name, ' - T1_Cabinet'));
|
||||
|
||||
// Flag for unit balance checking
|
||||
_xBalanceOk : BOOL;
|
||||
|
||||
// All units are ready
|
||||
_xAllUnitsReady : BOOL;
|
||||
|
||||
// Units out of balance alarm
|
||||
_fbUnitsOutOfBalanceAlarm : FB_TcAlarm;
|
||||
|
||||
// Leackage tank alarm
|
||||
_fbLeackageTankAlarm : FB_TcAlarm;
|
||||
|
||||
// Leackage Segment 1/2 alarm
|
||||
_fbLeackageSegment12Alarm : FB_TcAlarm;
|
||||
|
||||
// Leackage Segemnt 3/4 alarm
|
||||
_fbLeackageSegment34Alarm : FB_TcAlarm;
|
||||
|
||||
// Connection lost alarm
|
||||
_fbConnLostAlarm : FB_TcAlarm;
|
||||
|
||||
// Module name
|
||||
_sName : STRING;
|
||||
|
||||
_fbBalanceNotOkSignal : FB_ReleaseSignal;
|
||||
|
||||
_xECModuleInOP : BOOL;
|
||||
|
||||
_xFirstCycle : BOOL := TRUE;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[IF _xFirstCycle THEN
|
||||
_xFirstCycle := FALSE;
|
||||
|
||||
_fbUnit1.Name := CONCAT(Name, ' - Unit 1');
|
||||
_fbUnit2.Name := CONCAT(Name, ' - Unit 2');
|
||||
_fbUnit3.Name := CONCAT(Name, ' - Unit 3');
|
||||
_fbUnit4.Name := CONCAT(Name, ' - Unit 4');
|
||||
|
||||
_fbTempSensorCabinet.Name := CONCAT(Name, ' - T1_Cabinet');
|
||||
END_IF
|
||||
|
||||
// Reset error and warning flag
|
||||
xError := FALSE;
|
||||
xWarning := FALSE;
|
||||
|
||||
// Reset automatic mode flag
|
||||
xAllUnitsInAutomatic := TRUE;
|
||||
|
||||
// Reset safety interlocks flag
|
||||
xSafetyIntlksOk := TRUE;
|
||||
|
||||
// ===============================
|
||||
// Handle module connection lost error
|
||||
// ===============================
|
||||
_xECModuleInOP := (uiECState AND 16#000F) = 8;
|
||||
IF (NOT _xECModuleInOP) AND (NOT _fbConnLostAlarm.bRaised) AND xReleaseErrors THEN
|
||||
_fbConnLostAlarm.Raise(0);
|
||||
END_IF
|
||||
|
||||
IF (_xECModuleInOP) AND _fbConnLostAlarm.bRaised THEN
|
||||
_fbConnLostAlarm.Clear(0, FALSE);
|
||||
END_IF
|
||||
|
||||
IF _fbConnLostAlarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND xConfirmAlarms THEN
|
||||
_fbConnLostAlarm.Confirm(0);
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Leackage tank error (1 - OK; 0 - Leackage)
|
||||
// ===============================
|
||||
IF (NOT xLeakageTank) AND (NOT _fbLeackageTankAlarm.bRaised) AND xReleaseErrors THEN
|
||||
_fbLeackageTankAlarm.Raise(0);
|
||||
END_IF
|
||||
|
||||
IF xLeakageTank AND _fbLeackageTankAlarm.bRaised THEN
|
||||
_fbLeackageTankAlarm.Clear(0, FALSE);
|
||||
END_IF
|
||||
|
||||
IF _fbLeackageTankAlarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND xConfirmAlarms THEN
|
||||
_fbLeackageTankAlarm.Confirm(0);
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Leackage Unit 1/2 error (1 - OK; 0 - Leackage)
|
||||
// ===============================
|
||||
IF (NOT xLeakageSegments12) AND (NOT _fbLeackageSegment12Alarm.bRaised) AND xReleaseErrors THEN
|
||||
GVL_MODBUS.awErrorsUnitsActive[uiFirstUnitIndex].stBitmap.bLeack := 1;
|
||||
GVL_MODBUS.awErrorsUnitsActive[uiFirstUnitIndex+1].stBitmap.bLeack := 1;
|
||||
_fbLeackageSegment12Alarm.Raise(0);
|
||||
END_IF
|
||||
|
||||
IF xLeakageSegments12 AND _fbLeackageSegment12Alarm.bRaised THEN
|
||||
_fbLeackageSegment12Alarm.Clear(0, FALSE);
|
||||
END_IF
|
||||
|
||||
IF _fbLeackageSegment12Alarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND xConfirmAlarms THEN
|
||||
_fbLeackageSegment12Alarm.Confirm(0);
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Leackage Unit 3/4 error (1 - OK; 0 - Leackage)
|
||||
// ===============================
|
||||
IF (NOT xLeakageSegments34) AND (NOT _fbLeackageSegment34Alarm.bRaised) AND xReleaseErrors THEN
|
||||
GVL_MODBUS.awErrorsUnitsActive[uiFirstUnitIndex+2].stBitmap.bLeack := 1;
|
||||
GVL_MODBUS.awErrorsUnitsActive[uiFirstUnitIndex+3].stBitmap.bLeack := 1;
|
||||
_fbLeackageSegment34Alarm.Raise(0);
|
||||
END_IF
|
||||
|
||||
IF xLeakageSegments34 AND _fbLeackageSegment34Alarm.bRaised THEN
|
||||
_fbLeackageSegment34Alarm.Clear(0, FALSE);
|
||||
END_IF
|
||||
|
||||
IF _fbLeackageSegment34Alarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND xConfirmAlarms THEN
|
||||
_fbLeackageSegment34Alarm.Confirm(0);
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Unit 1
|
||||
// ===============================
|
||||
_fbUnit1(
|
||||
xEnable := xEnable,
|
||||
xStartBalancing := xStartBalancing,
|
||||
eStringOperatingMode := eStringOperatingMode,
|
||||
xInverterEnabled := xInverterEnabled,
|
||||
xInSafetyCheckMode := xInSafetyCheckMode,
|
||||
stUnitConfig:= GVL_CONFIG.stUnitConfig,
|
||||
stHMIInterface:= refstHMIInterface.stHMIInterfaceUnit1,
|
||||
xEmergencyStopOk:= xEmergencyStopOk,
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseLimitErrors:= xReleaseLimitErrors,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xReleaseManualMode := xReleaseManualMode,
|
||||
rBalancingTargetVoltage := rBalancingTargetVoltage,
|
||||
xAllToManualMode := xAllToManualMode,
|
||||
stModbusWarnings := GVL_MODBUS.awWarningsUnitsActive[uiFirstUnitIndex],
|
||||
stModbusErrors := GVL_MODBUS.awErrorsUnitsActive[uiFirstUnitIndex]);
|
||||
|
||||
refstHMIInterface.stHMIInterfaceUnit1.rCurrent := rCurrent;
|
||||
|
||||
IF _fbUnit1.xWarning THEN
|
||||
xWarning := TRUE;
|
||||
END_IF
|
||||
|
||||
IF _fbUnit1.xError THEN
|
||||
xError := TRUE;
|
||||
END_IF
|
||||
|
||||
IF NOT _fbUnit1.xSafetyIntlksOk THEN
|
||||
xSafetyIntlksOk := FALSE;
|
||||
END_IF
|
||||
|
||||
IF NOT _fbUnit1.xAllComponentsInAuto THEN
|
||||
xAllUnitsInAutomatic := FALSE;
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Unit 2
|
||||
// ===============================
|
||||
_fbUnit2(
|
||||
xEnable := xEnable,
|
||||
xStartBalancing := xStartBalancing,
|
||||
eStringOperatingMode := eStringOperatingMode,
|
||||
xInverterEnabled := xInverterEnabled,
|
||||
xInSafetyCheckMode := xInSafetyCheckMode,
|
||||
stUnitConfig:= GVL_CONFIG.stUnitConfig,
|
||||
stHMIInterface:= refstHMIInterface.stHMIInterfaceUnit2,
|
||||
xEmergencyStopOk:= xEmergencyStopOk,
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseLimitErrors:= xReleaseLimitErrors,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xReleaseManualMode := xReleaseManualMode,
|
||||
rBalancingTargetVoltage := rBalancingTargetVoltage,
|
||||
xAllToManualMode := xAllToManualMode,
|
||||
stModbusWarnings := GVL_MODBUS.awWarningsUnitsActive[uiFirstUnitIndex+1],
|
||||
stModbusErrors := GVL_MODBUS.awErrorsUnitsActive[uiFirstUnitIndex+1]);
|
||||
|
||||
refstHMIInterface.stHMIInterfaceUnit2.rCurrent := rCurrent;
|
||||
|
||||
IF _fbUnit2.xWarning THEN
|
||||
xWarning := TRUE;
|
||||
END_IF
|
||||
|
||||
IF _fbUnit2.xError THEN
|
||||
xError := TRUE;
|
||||
END_IF
|
||||
|
||||
IF NOT _fbUnit2.xSafetyIntlksOk THEN
|
||||
xSafetyIntlksOk := FALSE;
|
||||
END_IF
|
||||
|
||||
IF NOT _fbUnit2.xAllComponentsInAuto THEN
|
||||
xAllUnitsInAutomatic := FALSE;
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Unit 3
|
||||
// ===============================
|
||||
_fbUnit3(
|
||||
xEnable := xEnable,
|
||||
xStartBalancing := xStartBalancing,
|
||||
eStringOperatingMode := eStringOperatingMode,
|
||||
xInverterEnabled := xInverterEnabled,
|
||||
xInSafetyCheckMode := xInSafetyCheckMode,
|
||||
stUnitConfig:= GVL_CONFIG.stUnitConfig,
|
||||
stHMIInterface:= refstHMIInterface.stHMIInterfaceUnit3,
|
||||
xEmergencyStopOk:= xEmergencyStopOk,
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseLimitErrors:= xReleaseLimitErrors,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xReleaseManualMode := xReleaseManualMode,
|
||||
rBalancingTargetVoltage := rBalancingTargetVoltage,
|
||||
xAllToManualMode := xAllToManualMode,
|
||||
stModbusWarnings := GVL_MODBUS.awWarningsUnitsActive[uiFirstUnitIndex+2],
|
||||
stModbusErrors := GVL_MODBUS.awErrorsUnitsActive[uiFirstUnitIndex+2]);
|
||||
|
||||
refstHMIInterface.stHMIInterfaceUnit3.rCurrent := rCurrent;
|
||||
|
||||
IF _fbUnit3.xWarning THEN
|
||||
xWarning := TRUE;
|
||||
END_IF
|
||||
|
||||
IF _fbUnit3.xError THEN
|
||||
xError := TRUE;
|
||||
END_IF
|
||||
|
||||
IF NOT _fbUnit3.xSafetyIntlksOk THEN
|
||||
xSafetyIntlksOk := FALSE;
|
||||
END_IF
|
||||
|
||||
IF NOT _fbUnit3.xAllComponentsInAuto THEN
|
||||
xAllUnitsInAutomatic := FALSE;
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Unit 4
|
||||
// ===============================
|
||||
_fbUnit4(
|
||||
xEnable := xEnable,
|
||||
xStartBalancing := xStartBalancing,
|
||||
eStringOperatingMode := eStringOperatingMode,
|
||||
xInverterEnabled := xInverterEnabled,
|
||||
xInSafetyCheckMode := xInSafetyCheckMode,
|
||||
stUnitConfig:= GVL_CONFIG.stUnitConfig,
|
||||
stHMIInterface:= refstHMIInterface.stHMIInterfaceUnit4,
|
||||
xEmergencyStopOk:= xEmergencyStopOk,
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseLimitErrors:= xReleaseLimitErrors,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
xReleaseManualMode := xReleaseManualMode,
|
||||
rBalancingTargetVoltage := rBalancingTargetVoltage,
|
||||
xAllToManualMode := xAllToManualMode,
|
||||
stModbusWarnings := GVL_MODBUS.awWarningsUnitsActive[uiFirstUnitIndex+3],
|
||||
stModbusErrors := GVL_MODBUS.awErrorsUnitsActive[uiFirstUnitIndex+3]);
|
||||
|
||||
refstHMIInterface.stHMIInterfaceUnit4.rCurrent := rCurrent;
|
||||
|
||||
IF _fbUnit4.xWarning THEN
|
||||
xWarning := TRUE;
|
||||
END_IF
|
||||
|
||||
IF _fbUnit4.xError THEN
|
||||
xError := TRUE;
|
||||
END_IF
|
||||
|
||||
IF NOT _fbUnit4.xSafetyIntlksOk THEN
|
||||
xSafetyIntlksOk := FALSE;
|
||||
END_IF
|
||||
|
||||
IF NOT _fbUnit4.xAllComponentsInAuto THEN
|
||||
xAllUnitsInAutomatic := FALSE;
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Temperature sensor control cabinet
|
||||
// ===============================
|
||||
_fbTempSensorCabinet(
|
||||
stScalingConfig:= GVL_CONFIG.stConfigCabinetTemp,
|
||||
stEWConfig:= GVL_CONFIG.stEWLCabinetTemp,
|
||||
stEWDelayConfig:= GVL_CONFIG.stEWDCabinetTemp,
|
||||
xReleaseErrors:= xReleaseErrors,
|
||||
xReleaseLimitErrors:= xReleaseLimitErrors,
|
||||
xReleaseHardwareErrors:= xReleaseErrors,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface=> refstHMIInterface.stTempCabinet);
|
||||
|
||||
// Set warning output for modbus register bits
|
||||
IF _fbTempSensorCabinet.xWarningHigh THEN
|
||||
xTempCabinetWarning := TRUE;
|
||||
END_IF
|
||||
|
||||
IF _fbTempSensorCabinet.xError THEN
|
||||
xError := TRUE;
|
||||
END_IF
|
||||
|
||||
IF _fbTempSensorCabinet.xWarning THEN
|
||||
xWarning := TRUE;
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Units ready check
|
||||
// ===============================
|
||||
_xAllUnitsReady := _fbUnit1.xReady AND _fbUnit2.xReady AND _fbUnit3.xReady AND _fbUnit4.xReady;
|
||||
|
||||
|
||||
// ===============================
|
||||
// Balancing done check
|
||||
// ===============================
|
||||
xBalancingDone := _fbUnit1.xBalancingDone AND _fbUnit2.xBalancingDone AND _fbUnit3.xBalancingDone AND _fbUnit4.xBalancingDone;
|
||||
|
||||
|
||||
// ===============================
|
||||
// Units in shutdown discharge mode
|
||||
// ===============================
|
||||
xInShutdownDischargeMode := _fbUnit1.xInShutdownDischargeMode AND _fbUnit2.xInShutdownDischargeMode AND _fbUnit3.xInShutdownDischargeMode AND _fbUnit4.xInShutdownDischargeMode;
|
||||
|
||||
|
||||
// ===============================
|
||||
// Units shutdown discharge allowed
|
||||
// ===============================
|
||||
xShutdownDischargeAllowed := _fbUnit1.xShutdownDischargeAllowed AND _fbUnit2.xShutdownDischargeAllowed AND _fbUnit3.xShutdownDischargeAllowed AND _fbUnit4.xShutdownDischargeAllowed;
|
||||
|
||||
|
||||
// ===============================
|
||||
// All units off
|
||||
// ===============================
|
||||
xOff := _fbUnit1.xOff AND _fbUnit2.xOff AND _fbUnit3.xOff AND _fbUnit4.xOff;
|
||||
|
||||
|
||||
// ===============================
|
||||
// Calculate module voltage
|
||||
// ===============================
|
||||
rCurrentVoltage := _fbUnit1.rCurrentVoltage + _fbUnit2.rCurrentVoltage + _fbUnit3.rCurrentVoltage + _fbUnit4.rCurrentVoltage;
|
||||
refstHMIInterface.rVoltage := refstHMIInterface.rVoltage * 0.9 + rCurrentVoltage * 0.1;
|
||||
|
||||
|
||||
// ===============================
|
||||
// Module balance check
|
||||
// ===============================
|
||||
// Reset balance ok flag
|
||||
_xBalanceOk := TRUE;
|
||||
|
||||
// Test unit 1 with unit 2
|
||||
IF ABS(_fbUnit1.rCurrentVoltage - _fbUnit2.rCurrentVoltage) > GVL_CONFIG.rMaxAbsDiffVoltageUnitsOnModule THEN
|
||||
_xBalanceOk := FALSE;
|
||||
END_IF
|
||||
|
||||
// Test unit 1 with unit 3
|
||||
IF ABS(_fbUnit1.rCurrentVoltage - _fbUnit3.rCurrentVoltage) > GVL_CONFIG.rMaxAbsDiffVoltageUnitsOnModule THEN
|
||||
_xBalanceOk := FALSE;
|
||||
END_IF
|
||||
|
||||
// Test unit 1 with unit 4
|
||||
IF ABS(_fbUnit1.rCurrentVoltage - _fbUnit4.rCurrentVoltage) > GVL_CONFIG.rMaxAbsDiffVoltageUnitsOnModule THEN
|
||||
_xBalanceOk := FALSE;
|
||||
END_IF
|
||||
|
||||
// Test unit 2 with unit 3
|
||||
IF ABS(_fbUnit2.rCurrentVoltage - _fbUnit3.rCurrentVoltage) > GVL_CONFIG.rMaxAbsDiffVoltageUnitsOnModule THEN
|
||||
_xBalanceOk := FALSE;
|
||||
END_IF
|
||||
|
||||
// Test unit 2 with unit 4
|
||||
IF ABS(_fbUnit2.rCurrentVoltage - _fbUnit4.rCurrentVoltage) > GVL_CONFIG.rMaxAbsDiffVoltageUnitsOnModule THEN
|
||||
_xBalanceOk := FALSE;
|
||||
END_IF
|
||||
|
||||
// Test unit 3 with unit 4
|
||||
IF ABS(_fbUnit3.rCurrentVoltage - _fbUnit4.rCurrentVoltage) > GVL_CONFIG.rMaxAbsDiffVoltageUnitsOnModule THEN
|
||||
_xBalanceOk := FALSE;
|
||||
END_IF
|
||||
|
||||
// Release signal for balance not ok
|
||||
_fbBalanceNotOkSignal(
|
||||
xSignal:= NOT _xBalanceOk,
|
||||
xRelease:= xEnable AND _xAllUnitsReady,
|
||||
timOnDelay:= T#5S,
|
||||
timOffDelay:= T#5S,
|
||||
xReleaseSignal=> );
|
||||
|
||||
// Signal an error if all units are ready and module is out of balance
|
||||
IF _xAllUnitsReady AND _fbBalanceNotOkSignal.xReleaseSignal THEN
|
||||
xError := TRUE;
|
||||
END_IF
|
||||
|
||||
// Raise error
|
||||
IF _fbBalanceNotOkSignal.xReleaseSignal AND (NOT _fbUnitsOutOfBalanceAlarm.bRaised) THEN
|
||||
_fbUnitsOutOfBalanceAlarm.Raise(0);
|
||||
END_IF
|
||||
|
||||
// Clear error only with confirmation because of voltage ripple event spam
|
||||
IF (NOT _fbBalanceNotOkSignal.xReleaseSignal) AND _fbUnitsOutOfBalanceAlarm.bRaised AND xConfirmAlarms THEN
|
||||
_fbUnitsOutOfBalanceAlarm.Clear(0, FALSE);
|
||||
END_IF
|
||||
|
||||
// Confirm error
|
||||
IF _fbUnitsOutOfBalanceAlarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND xConfirmAlarms THEN
|
||||
_fbUnitsOutOfBalanceAlarm.Confirm(0);
|
||||
END_IF
|
||||
|
||||
// ===============================
|
||||
// Module ready validation check
|
||||
// ===============================
|
||||
IF _xAllUnitsReady AND (NOT _fbBalanceNotOkSignal.xReleaseSignal) THEN
|
||||
xReady := TRUE;
|
||||
ELSE
|
||||
xReady := FALSE;
|
||||
END_IF
|
||||
|
||||
|
||||
// ===============================
|
||||
// Get the smallest segment Voltage
|
||||
// for balancing
|
||||
// ===============================
|
||||
rSmallestSegmentVoltage := MIN(_fbUnit1.rCurrentVoltage, _fbUnit2.rCurrentVoltage, _fbUnit3.rCurrentVoltage, _fbUnit4.rCurrentVoltage);
|
||||
rHighestSegmentVoltage := MAX(_fbUnit1.rCurrentVoltage, _fbUnit2.rCurrentVoltage, _fbUnit3.rCurrentVoltage, _fbUnit4.rCurrentVoltage);
|
||||
|
||||
// ===============================
|
||||
// Copy string current to module current
|
||||
// ===============================
|
||||
refstHMIInterface.rCurrent := rCurrent;
|
||||
|
||||
// ===============================
|
||||
// Module status sum
|
||||
// ===============================
|
||||
// Module ready
|
||||
IF xReady AND (NOT xError) THEN
|
||||
refstHMIInterface.eStatus := E_COMPONENT_STATUS.ON;
|
||||
END_IF
|
||||
|
||||
// Module starting
|
||||
IF (NOT xOff) AND (NOT xReady) AND xEnable AND (NOT xError) THEN
|
||||
refstHMIInterface.eStatus := E_COMPONENT_STATUS.STARTING;
|
||||
END_IF
|
||||
|
||||
// Module shutdown
|
||||
IF (NOT xOff) AND (NOT xReady) AND (NOT xEnable) AND (NOT xError) THEN
|
||||
refstHMIInterface.eStatus := E_COMPONENT_STATUS.SHUTDOWN;
|
||||
END_IF
|
||||
|
||||
// Module off
|
||||
IF xOff AND (NOT xError) THEN
|
||||
refstHMIInterface.eStatus := E_COMPONENT_STATUS.OFF;
|
||||
END_IF
|
||||
|
||||
// Module error
|
||||
IF xError THEN
|
||||
refstHMIInterface.eStatus := E_COMPONENT_STATUS.ERROR;
|
||||
END_IF
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="FB_init" Id="{369c1d27-76e4-45f8-9dbe-03524d3389df}">
|
||||
<Declaration><![CDATA[METHOD FB_init : BOOL
|
||||
VAR_INPUT
|
||||
bInitRetains : BOOL; // if TRUE, the retain variables are initialized (warm start / cold start)
|
||||
bInCopyCode : BOOL; // if TRUE, the instance afterwards gets moved into the copy code (online change)
|
||||
|
||||
sName : STRING;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[_sName := sName;
|
||||
|
||||
// Set unit names
|
||||
_fbUnit1.Name := CONCAT(_sName, 'Unit 1');
|
||||
_fbUnit2.Name := CONCAT(_sName, 'Unit 2');
|
||||
_fbUnit3.Name := CONCAT(_sName, 'Unit 3');
|
||||
_fbUnit4.Name := CONCAT(_sName, 'Unit 4');
|
||||
|
||||
// Create out of balance alarm
|
||||
_fbUnitsOutOfBalanceAlarm.CreateEx(stEventEntry := TC_EVENTS.BMSEvents.ModuleImbalance, bWithConfirmation := TRUE, 0);
|
||||
|
||||
// Create alarm message
|
||||
_fbUnitsOutOfBalanceAlarm.ipArguments.Clear().AddString(_sName);
|
||||
|
||||
// Create connection lost alarm
|
||||
_fbConnLostAlarm.CreateEx(stEventEntry := TC_EVENTS.General.CommError, bWithConfirmation := TRUE, 0);
|
||||
_fbConnLostAlarm.ipArguments.Clear().AddString(_sName);
|
||||
|
||||
|
||||
// Create leakage alarm messages
|
||||
_fbLeackageTankAlarm.CreateEx(stEventEntry := TC_EVENTS.General.LeakageTank, bWithConfirmation := TRUE, 0);
|
||||
_fbLeackageTankAlarm.ipArguments.Clear().AddString(_sName);
|
||||
|
||||
_fbLeackageSegment12Alarm.CreateEx(stEventEntry := TC_EVENTS.General.LeakageDS12, bWithConfirmation := TRUE, 0);
|
||||
_fbLeackageSegment12Alarm.ipArguments.Clear().AddString(_sName);
|
||||
|
||||
_fbLeackageSegment34Alarm.CreateEx(stEventEntry := TC_EVENTS.General.LeakageDS34, bWithConfirmation := TRUE, 0);
|
||||
_fbLeackageSegment34Alarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Property Name="Name" Id="{bc8bc990-5071-47c9-a928-a129c60c6f41}">
|
||||
<Declaration><![CDATA[PROPERTY Name : String]]></Declaration>
|
||||
<Get Name="Get" Id="{c00a6d41-9156-49b5-aa08-e4cc4c913fca}">
|
||||
<Declaration><![CDATA[VAR
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[Name := _sName;]]></ST>
|
||||
</Implementation>
|
||||
</Get>
|
||||
<Set Name="Set" Id="{ade5f4d9-ff42-4236-b5fc-e43a53c9ca28}">
|
||||
<Declaration><![CDATA[VAR
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[_sName := Name;
|
||||
|
||||
// Set unit names
|
||||
_fbUnit1.Name := CONCAT(_sName, ' - Unit 1');
|
||||
_fbUnit2.Name := CONCAT(_sName, ' - Unit 2');
|
||||
_fbUnit3.Name := CONCAT(_sName, ' - Unit 3');
|
||||
_fbUnit4.Name := CONCAT(_sName, ' - Unit 4');
|
||||
|
||||
// Create alarm message
|
||||
_fbUnitsOutOfBalanceAlarm.ipArguments.Clear().AddString(_sName);
|
||||
|
||||
// Create connection lost alarm
|
||||
_fbConnLostAlarm.ipArguments.Clear().AddString(_sName);
|
||||
|
||||
// Create leackage alarm messages
|
||||
_fbLeackageTankAlarm.ipArguments.Clear().AddString(_sName);
|
||||
_fbLeackageSegment12Alarm.ipArguments.Clear().AddString(_sName);
|
||||
_fbLeackageSegment34Alarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
||||
</Implementation>
|
||||
</Set>
|
||||
</Property>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
18
PLC/POUs/FB_PowerDistribution.TcPOU
Normal file
18
PLC/POUs/FB_PowerDistribution.TcPOU
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<POU Name="FB_PowerDistribution" Id="{b382f09a-3dcd-41a8-aaaf-4ba50c3b8bb9}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_PowerDistribution
|
||||
VAR_INPUT
|
||||
uiMaxActiveStrings : UINT;
|
||||
uiActiveStrings : UINT;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
END_VAR
|
||||
VAR
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
121
PLC/POUs/FB_PowerMeter.TcPOU
Normal file
121
PLC/POUs/FB_PowerMeter.TcPOU
Normal file
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<POU Name="FB_PowerMeter" Id="{9d4159f4-2d3f-4522-a770-c038a26d9d77}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_PowerMeter
|
||||
VAR_INPUT
|
||||
xGetEnergyCounters : BOOL;
|
||||
// IP 75 -> Umrichter
|
||||
// IP 80 -> Hilfsenergie
|
||||
sIpAddress : STRING(80);
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
lrEnergyFromGrid : LREAL;
|
||||
lrEnergyIntoGrid : LREAL;
|
||||
|
||||
xBusy : BOOL;
|
||||
xError : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
_fbReadRegs : FB_MBReadRegs;
|
||||
_awWordArray : ARRAY[0..3] OF WORD;
|
||||
_awSwapped : ARRAY[0..3] OF WORD;
|
||||
_udiErrorId : UDINT;
|
||||
|
||||
_fbGetEnergyCounters : R_TRIG;
|
||||
_xResetEnergyCounter : BOOL;
|
||||
|
||||
_iState : INT := 0;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[_fbGetEnergyCounters(CLK := xGetEnergyCounters);
|
||||
|
||||
IF _fbGetEnergyCounters.Q THEN
|
||||
_xResetEnergyCounter := TRUE;
|
||||
END_IF
|
||||
|
||||
CASE _iState OF
|
||||
0: // Idle
|
||||
IF _xResetEnergyCounter THEN
|
||||
xBusy := TRUE;
|
||||
xError := FALSE;
|
||||
_xResetEnergyCounter := FALSE;
|
||||
_iState := 10;
|
||||
END_IF
|
||||
|
||||
10: // Read energy from grid
|
||||
_fbReadRegs(
|
||||
sIPAddr:= sIpAddress,
|
||||
nTCPPort:= 502,
|
||||
nUnitID:= 16#FF,
|
||||
nQuantity:= 4,
|
||||
nMBAddr:= 8192,
|
||||
cbLength:= SIZEOF(_awWordArray),
|
||||
pDestAddr:= ADR(_awWordArray),
|
||||
bExecute:= TRUE,
|
||||
tTimeout:= ,
|
||||
bBusy=> ,
|
||||
bError=> ,
|
||||
nErrId=> ,
|
||||
cbRead=> );
|
||||
|
||||
IF (NOT _fbReadRegs.bBusy) AND (NOT _fbReadRegs.bError) THEN
|
||||
_fbReadRegs(bExecute := FALSE);
|
||||
SwapArray();
|
||||
MEMCPY(ADR(lrEnergyFromGrid), ADR(_awSwapped), 8);
|
||||
_iState := 20;
|
||||
END_IF
|
||||
|
||||
IF _fbReadRegs.bError THEN
|
||||
xBusy := FALSE;
|
||||
xError := TRUE;
|
||||
_udiErrorId := _fbReadRegs.nErrId;
|
||||
lrEnergyFromGrid := 0;
|
||||
_fbReadRegs(bExecute := FALSE);
|
||||
_iState := 1000;
|
||||
END_IF
|
||||
|
||||
20: // Read energy to grid
|
||||
_fbReadRegs(
|
||||
sIPAddr:= '192.168.42.75',
|
||||
nTCPPort:= 502,
|
||||
nUnitID:= 16#FF,
|
||||
nQuantity:= 4,
|
||||
nMBAddr:= 8196,
|
||||
cbLength:= SIZEOF(_awWordArray),
|
||||
pDestAddr:= ADR(_awWordArray),
|
||||
bExecute:= TRUE,
|
||||
tTimeout:= ,
|
||||
bBusy=> ,
|
||||
bError=> ,
|
||||
nErrId=> ,
|
||||
cbRead=> );
|
||||
|
||||
IF (NOT _fbReadRegs.bBusy) AND (NOT _fbReadRegs.bError) THEN
|
||||
_fbReadRegs(bExecute := FALSE);
|
||||
SwapArray();
|
||||
MEMCPY(ADR(lrEnergyIntoGrid), ADR(_awSwapped), 8);
|
||||
_iState := 0;
|
||||
xBusy := FALSE;
|
||||
END_IF
|
||||
|
||||
IF _fbReadRegs.bError THEN
|
||||
xBusy := FALSE;
|
||||
xError := TRUE;
|
||||
_udiErrorId := _fbReadRegs.nErrId;
|
||||
lrEnergyIntoGrid := 0;
|
||||
_fbReadRegs(bExecute := FALSE);
|
||||
_iState := 0;
|
||||
END_IF
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
<Action Name="SwapArray" Id="{96198008-b45e-42ee-9345-377fed90aab6}">
|
||||
<Implementation>
|
||||
<ST><![CDATA[_awSwapped[0] := _awWordArray[3];
|
||||
_awSwapped[1] := _awWordArray[2];
|
||||
_awSwapped[2] := _awWordArray[1];
|
||||
_awSwapped[3] := _awWordArray[0];]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
50
PLC/POUs/FB_Safety.TcPOU
Normal file
50
PLC/POUs/FB_Safety.TcPOU
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<POU Name="FB_Safety" Id="{f74eb8e4-e878-485f-9706-8dd039061a6b}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Safety
|
||||
VAR_INPUT
|
||||
xVoltagesInRange AT %I* : BOOL;
|
||||
xPressureInRange AT %I* : BOOL;
|
||||
xTemperaturesInRange AT %I* : BOOL;
|
||||
|
||||
xReset : BOOL;
|
||||
refuStringErrorsModbus : REFERENCE TO U_BMS_ERROR_REGISTER;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
xErrorLatched : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
_latchedVoltages : BOOL;
|
||||
_latchedPressures : BOOL;
|
||||
_latchedTemperatures : BOOL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[IF xReset THEN
|
||||
xReset := FALSE;
|
||||
_latchedVoltages := FALSE;
|
||||
_latchedPressures := FALSE;
|
||||
_latchedTemperatures := FALSE;
|
||||
xErrorLatched := FALSE;
|
||||
END_IF
|
||||
|
||||
IF (NOT xVoltagesInRange) AND NOT xErrorLatched THEN
|
||||
_latchedVoltages := TRUE;
|
||||
xErrorLatched := TRUE;
|
||||
refuStringErrorsModbus.stBitmap.bSafetyErrorVoltage := 1;
|
||||
END_IF
|
||||
|
||||
IF (NOT xPressureInRange) AND NOT xErrorLatched THEN
|
||||
_latchedPressures := TRUE;
|
||||
xErrorLatched := TRUE;
|
||||
refuStringErrorsModbus.stBitmap.bSafetyErrorPressure := 1;
|
||||
END_IF
|
||||
|
||||
IF (NOT xTemperaturesInRange) AND NOT xErrorLatched THEN
|
||||
_latchedTemperatures := TRUE;
|
||||
xErrorLatched := TRUE;
|
||||
refuStringErrorsModbus.stBitmap.bSafetyErrorTemperature := 1;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
1156
PLC/POUs/FB_String.TcPOU
Normal file
1156
PLC/POUs/FB_String.TcPOU
Normal file
File diff suppressed because it is too large
Load Diff
47
PLC/POUs/FB_UMD705.TcPOU
Normal file
47
PLC/POUs/FB_UMD705.TcPOU
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<POU Name="FB_UMD705" Id="{e3557e0d-5497-476d-aba3-e3a1e4ffd057}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_UMD705
|
||||
VAR_INPUT
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
END_VAR
|
||||
VAR
|
||||
_xExecute : BOOL;
|
||||
|
||||
// FB for reading Modbus holding registers
|
||||
_fbReadRegister : FB_MBReadRegs;
|
||||
|
||||
// FB for writing Modbus holding registers
|
||||
_fbWriteRegister : FB_MBWriteRegs;
|
||||
|
||||
_diLastReset : DINT;
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
STATUS_REGISTER : WORD := 40108;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[_fbReadRegister(
|
||||
sIPAddr:= sInverterIPAddr,
|
||||
nTCPPort:= 502,
|
||||
nUnitID:= 16#FF, // 16#FF for Modbus TCP
|
||||
nQuantity:= 1,
|
||||
nMBAddr:= STATUS_REGISTER,
|
||||
cbLength:= SIZEOF(_uiInverterState),
|
||||
pDestAddr:= ADR(_uiInverterState),
|
||||
bExecute:= TRUE,
|
||||
tTimeout:= T#5S,
|
||||
bBusy=> ,
|
||||
bError=> ,
|
||||
nErrId=> ,
|
||||
cbRead=> );
|
||||
|
||||
|
||||
|
||||
IF _xExecute THEN
|
||||
_xExecute := FALSE;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
1365
PLC/POUs/FB_Unit.TcPOU
Normal file
1365
PLC/POUs/FB_Unit.TcPOU
Normal file
File diff suppressed because it is too large
Load Diff
1730
PLC/POUs/MAIN.TcPOU
Normal file
1730
PLC/POUs/MAIN.TcPOU
Normal file
File diff suppressed because it is too large
Load Diff
25
PLC/POUs/Sunspec/Kaco/E_KACO_CURRENT_STATE.TcDUT
Normal file
25
PLC/POUs/Sunspec/Kaco/E_KACO_CURRENT_STATE.TcDUT
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="E_KACO_CURRENT_STATE" Id="{2acb7f0e-c391-4c10-827a-e41a4c5478d9}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_KACO_CURRENT_STATE :
|
||||
(
|
||||
OFF := 1,
|
||||
SLEEPING := 2,
|
||||
STARTING := 3,
|
||||
MPPT := 4,
|
||||
THROTTLED := 5,
|
||||
SHUTTING_DOWN := 6,
|
||||
FAULT := 7,
|
||||
STANDBY := 8,
|
||||
PRECHARGE := 9,
|
||||
GRID_PRE_CONNECTED := 10,
|
||||
GRID_CONNECTED := 11,
|
||||
NO_ERROR_PENDING := 12
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
24
PLC/POUs/Sunspec/Kaco/E_KACO_PCU_ERROR.TcDUT
Normal file
24
PLC/POUs/Sunspec/Kaco/E_KACO_PCU_ERROR.TcDUT
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="E_KACO_PCU_ERROR" Id="{9d943541-7a37-4e53-993d-e5fb676cf523}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_KACO_PCU_ERROR :
|
||||
(
|
||||
NO_EVENT := 0,
|
||||
OVER_TEMP := 1,
|
||||
OVER_VOLT := 2,
|
||||
UNDER_VOLT := 3,
|
||||
BATT_POL_INCORREC := 4,
|
||||
COUNTER_TOO_HIGH := 5,
|
||||
DURING_PRECHARGE := 6,
|
||||
BATT_VOLT_OUT_OF_RANGE := 7,
|
||||
I2C_COMM := 8,
|
||||
CAN_COMM := 9,
|
||||
SWITCH_OFF_AC_DSP := 10
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
18
PLC/POUs/Sunspec/Kaco/E_KACO_PCU_REQUESTED_STATE.TcDUT
Normal file
18
PLC/POUs/Sunspec/Kaco/E_KACO_PCU_REQUESTED_STATE.TcDUT
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="E_KACO_PCU_REQUESTED_STATE" Id="{d26b8bd2-4451-4a56-a3ba-471d8a90e01d}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_KACO_PCU_REQUESTED_STATE :
|
||||
(
|
||||
UNDEFINED := 0,
|
||||
OFF := 1,
|
||||
STANDBY := 8,
|
||||
GRID_PRE_CONNECTED := 10,
|
||||
GRID_CONNECTED := 11
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
22
PLC/POUs/Sunspec/Kaco/E_KACO_PCU_STATE.TcDUT
Normal file
22
PLC/POUs/Sunspec/Kaco/E_KACO_PCU_STATE.TcDUT
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="E_KACO_PCU_STATE" Id="{d3455f44-85c3-4eb1-962f-0096c587ed27}">
|
||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||
{attribute 'strict'}
|
||||
{attribute 'to_string'}
|
||||
TYPE E_KACO_PCU_STATE :
|
||||
(
|
||||
WAIT_FOR_STARTUP :=1,
|
||||
STANDBY :=2,
|
||||
SWITCH_REL_MINUS :=3,
|
||||
SWITCH_REL_PRECHARGE :=4,
|
||||
SWITCH_REL_PLUS :=5,
|
||||
RUNNING :=6,
|
||||
COOLDOWN :=7,
|
||||
ERROR :=8,
|
||||
CLEAR_ERROR :=9
|
||||
);
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
1105
PLC/POUs/Sunspec/Kaco/FB_PowerSupplyKaco.TcPOU
Normal file
1105
PLC/POUs/Sunspec/Kaco/FB_PowerSupplyKaco.TcPOU
Normal file
File diff suppressed because it is too large
Load Diff
14
PLC/POUs/Sunspec/Kaco/ST_KACO_INFOS.TcDUT
Normal file
14
PLC/POUs/Sunspec/Kaco/ST_KACO_INFOS.TcDUT
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_KACO_INFOS" Id="{8a89bb74-fd34-4e8d-a03d-9fc814aadf52}">
|
||||
<Declaration><![CDATA[TYPE ST_KACO_INFOS :
|
||||
STRUCT
|
||||
eRequestedState : E_KACO_PCU_REQUESTED_STATE;
|
||||
eCurrentState : E_KACO_CURRENT_STATE;
|
||||
ePCUState : E_KACO_PCU_STATE;
|
||||
ePCUError : E_KACO_PCU_ERROR;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
13
PLC/POUs/Sunspec/Kaco/ST_KACU_PCU.TcDUT
Normal file
13
PLC/POUs/Sunspec/Kaco/ST_KACU_PCU.TcDUT
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_KACU_PCU" Id="{268343cf-ebff-47ff-8ac9-f65faeb58856}">
|
||||
<Declaration><![CDATA[{attribute 'pack_mode' := '1'}
|
||||
TYPE ST_KACU_PCU :
|
||||
STRUCT
|
||||
ePCUState : E_KACO_PCU_STATE;
|
||||
ePCUError : E_KACO_PCU_ERROR;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
1270
PLC/POUs/Sunspec/Refu/FB_PowerSupplySunspec.TcPOU
Normal file
1270
PLC/POUs/Sunspec/Refu/FB_PowerSupplySunspec.TcPOU
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_SunspecInverterThreePhase" Id="{f9acf95c-14fe-4c1e-9c73-dff4af6d43b5}">
|
||||
<Declaration><![CDATA[// Sunspec register 40.070 - 40.120 (Size 52)
|
||||
TYPE ST_SunspecInverterThreePhase :
|
||||
STRUCT
|
||||
// Model value
|
||||
uiID : UINT;
|
||||
|
||||
// Model length
|
||||
uiL : UINT;
|
||||
|
||||
// AC current. Sum of active phases
|
||||
iA : INT;
|
||||
|
||||
// AC current. Phase A
|
||||
iAphA : INT;
|
||||
|
||||
// AC current. Phase B
|
||||
iAphB : INT;
|
||||
|
||||
// AC current. Phase C
|
||||
iAphC : INT;
|
||||
|
||||
// AC current scaling factor
|
||||
iASF : INT;
|
||||
|
||||
// Phase voltage AB
|
||||
uiPPVphAB : UINT;
|
||||
|
||||
// Phase voltage BC
|
||||
uiPPVphBC : UINT;
|
||||
|
||||
// Phase voltage CA
|
||||
uiPPVphCA : UINT;
|
||||
|
||||
// Phase voltage AN
|
||||
uiPhVphA : UINT;
|
||||
|
||||
// Phase voltage BN
|
||||
uiPhVphB : UINT;
|
||||
|
||||
// Phase voltage CN
|
||||
uiPhVphC : UINT;
|
||||
|
||||
// Phase voltage scaling factor
|
||||
iVSF : INT;
|
||||
|
||||
// AC Power
|
||||
iW : INT;
|
||||
|
||||
// AC power scaling factor
|
||||
iWSF : INT;
|
||||
|
||||
// Line frequency
|
||||
uiHz : UINT;
|
||||
|
||||
// Line frequency scaling factor
|
||||
iHzSF : INT;
|
||||
|
||||
// AC apparent power
|
||||
iVA : INT;
|
||||
|
||||
// AC apparent power scaling factor
|
||||
iVASF : INT;
|
||||
|
||||
// AC reactive power
|
||||
iVAr : INT;
|
||||
|
||||
// AC reactive power scaling factor
|
||||
iVArSF : INT;
|
||||
|
||||
// AC power factor
|
||||
iPF : INT;
|
||||
|
||||
// AC power factor scaling factor
|
||||
iPFSF : INT;
|
||||
|
||||
// AC Energy
|
||||
udiWH : UDINT;
|
||||
|
||||
// AC Energy scaling factor
|
||||
iWHSF : INT;
|
||||
|
||||
// DC current
|
||||
uiDCA : UINT;
|
||||
|
||||
// DC current scaling factor
|
||||
iDCASF : INT;
|
||||
|
||||
// DC voltage
|
||||
uiDCV : UINT;
|
||||
|
||||
// DC voltage scaling factor
|
||||
iDCVSF : INT;
|
||||
|
||||
// DC power
|
||||
iDCW : INT;
|
||||
|
||||
// DC power scaling factor
|
||||
iDCWSF : INT;
|
||||
|
||||
// Cabinet temperature
|
||||
iTmpCab : INT;
|
||||
|
||||
// Heat sink temperature
|
||||
iTmpSnk : INT;
|
||||
|
||||
// Transformer temperature
|
||||
iTmpTrns : INT;
|
||||
|
||||
// Other temperature
|
||||
iTmpOt : INT;
|
||||
|
||||
// Temperature scaling factor
|
||||
iTmpSF : INT;
|
||||
|
||||
// Operating state
|
||||
wSt : WORD;
|
||||
|
||||
// Vendor specific operating state
|
||||
wStVnd : WORD;
|
||||
|
||||
// Bitmask value. Event fields.
|
||||
dwEvt1 : DWORD;
|
||||
|
||||
// Reserved for future use
|
||||
dwEvt2 : DWORD;
|
||||
|
||||
// Vendor defined events 1
|
||||
dwEvtVnd1 : DWORD;
|
||||
|
||||
// Vendor defined events 2
|
||||
dwEvtVnd2 : DWORD;
|
||||
|
||||
// Vendor defined events 3
|
||||
dwEvtVnd3 : DWORD;
|
||||
|
||||
// Vendor defined events 4
|
||||
dwEvtVnd4 : DWORD;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_SunspecNameplateRatings" Id="{d43d4b8b-dd50-4ed8-ac51-53563f3eb7b3}">
|
||||
<Declaration><![CDATA[// Sunspec register 40.122 - 40.149 (Size 28)
|
||||
TYPE ST_SunspecNameplateRatings :
|
||||
STRUCT
|
||||
// Model value
|
||||
uiID : UINT;
|
||||
|
||||
// Model length
|
||||
uiL : UINT;
|
||||
|
||||
// Type of DER device
|
||||
wDERTyp : WORD;
|
||||
|
||||
// Continuous power output capability of the inverter
|
||||
uiWRtg : UINT;
|
||||
|
||||
// Continuous power output capability of the inverter scaling factor
|
||||
uiWRtgSF : INT;
|
||||
|
||||
// Continuous volt-ampere output capability of the inverter
|
||||
uiVARtg : UINT;
|
||||
|
||||
// Continuous volt-ampere output capability of the inverter scaling factor
|
||||
uiVARtgSF : INT;
|
||||
|
||||
// Continuous VAR capability of the inverter in quadrant 1
|
||||
iVArRtgQ1 : INT;
|
||||
|
||||
// Continuous VAR capability of the inverter in quadrant 2
|
||||
iVArRtgQ2 : INT;
|
||||
|
||||
// Continuous VAR capability of the inverter in quadrant 3
|
||||
iVArRtgQ3 : INT;
|
||||
|
||||
// Continuous VAR capability of the inverter in quadrant 4
|
||||
iVArRtgQ4 : INT;
|
||||
|
||||
// Continuous VAR capability of the inverter in quadrant 1-4 scaling factor
|
||||
iVArRtgSF : INT;
|
||||
|
||||
// Maximum RMS AC current level capability of the inverter
|
||||
uiARtg : UINT;
|
||||
|
||||
// Maximum RMS AC current level capability of the inverter scaling factor
|
||||
uiARtgSF : INT;
|
||||
|
||||
// Minimum power factor capability of the inverter in quadrant 1
|
||||
iPFRtgQ1 : INT;
|
||||
|
||||
// Minimum power factor capability of the inverter in quadrant 2
|
||||
iPFRtgQ2 : INT;
|
||||
|
||||
// Minimum power factor capability of the inverter in quadrant 3
|
||||
iPFRtgQ3 : INT;
|
||||
|
||||
// Minimum power factor capability of the inverter in quadrant 4
|
||||
iPFRtgQ4 : INT;
|
||||
|
||||
// Minimum power factor capability of the inverter in quadrant 1-4 scaling factor
|
||||
iPFRtgSF : INT;
|
||||
|
||||
// Nominal energy rating of storage device
|
||||
uiWHRtg : UINT;
|
||||
|
||||
// Nominal energy rating of storage device scaling factor
|
||||
uiWHRtgSF : INT;
|
||||
|
||||
// The usable capacity of the battery
|
||||
uiAhrRtg : UINT;
|
||||
|
||||
// The usable capacity of the battery scaling factor
|
||||
uiAhrRtgSF : INT;
|
||||
|
||||
// Maximum rate of energy transfer into the storage device
|
||||
uiMaxChaRte : UINT;
|
||||
|
||||
// Maximum rate of energy transfer into the storage device scaling factor
|
||||
uiMaxChaRteSF : INT;
|
||||
|
||||
// Maximum rate of energy transfer out of the storage device
|
||||
uiMaxDisChaRte : UINT;
|
||||
|
||||
// Maximum rate of energy transfer out of the storage device scaling factor
|
||||
uiMaxDisChaRteSF : INT;
|
||||
|
||||
// Padding register
|
||||
wPad : WORD;
|
||||
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
75
PLC/POUs/Sunspec/Refu/ST_SUNSPEC_CURRENT_VALUES.TcDUT
Normal file
75
PLC/POUs/Sunspec/Refu/ST_SUNSPEC_CURRENT_VALUES.TcDUT
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="ST_SUNSPEC_CURRENT_VALUES" Id="{429ce2f6-f580-460c-8eb4-3ddb289effd4}">
|
||||
<Declaration><![CDATA[TYPE ST_SUNSPEC_CURRENT_VALUES :
|
||||
STRUCT
|
||||
// Current DC current (A)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActDCCurrent : REAL;
|
||||
|
||||
// Current DC voltage (V)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActDCVoltage : REAL;
|
||||
|
||||
// Current DC power (W)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActDCPower : REAL;
|
||||
|
||||
// Current AC current. Sum of active phases (A)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActACCurrent : REAL;
|
||||
|
||||
// Current AC current. Phase A (A)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActtACPhaseACurrent : REAL;
|
||||
|
||||
// Current AC current. Phase B (A)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActtACPhaseBCurrent : REAL;
|
||||
|
||||
// Current AC current. Phase C (A)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActtACPhaseCCurrent : REAL;
|
||||
|
||||
// Current AC power (W)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActACPower : REAL;
|
||||
|
||||
// Current AC frequency (Hz)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActACFreq : REAL;
|
||||
|
||||
// Current AC apparent power (VA)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActApparentPower : REAL;
|
||||
|
||||
// Current AC reactive power (VAr)
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActReactivePower : REAL;
|
||||
|
||||
// Current AC power factor
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
rActPowerFactor : REAL;
|
||||
|
||||
// Current inverter status
|
||||
{attribute 'OPC.UA.DA' := '1'}
|
||||
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||
{attribute 'analysis' := '-33'}
|
||||
uiStatus : UINT;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
28
PLC/POUs/Sunspec/Refu/U_SUNSPEC_ERROR.TcDUT
Normal file
28
PLC/POUs/Sunspec/Refu/U_SUNSPEC_ERROR.TcDUT
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<DUT Name="U_SUNSPEC_ERROR" Id="{4000836c-9d7f-470c-9b50-f6d22b3eac05}">
|
||||
<Declaration><![CDATA[TYPE U_SUNSPEC_ERROR :
|
||||
UNION
|
||||
xGroundFault : BOOL;
|
||||
xDCOverVoltage : BOOL;
|
||||
xACDisconnected : BOOL;
|
||||
xDCDisconnected : BOOL;
|
||||
xGridDisconnected : BOOL;
|
||||
xCabinetOpen : BOOL;
|
||||
xManualShutdown : BOOL;
|
||||
xOverTemp : BOOL;
|
||||
xOverFrequency : BOOL;
|
||||
xUnderFrequency : BOOL;
|
||||
xACOverVoltage : BOOL;
|
||||
xACUnderVoltage : BOOL;
|
||||
xBlownStringFuse : BOOL;
|
||||
xUnderTemp : BOOL;
|
||||
xMemoryLoss : BOOL;
|
||||
xHWTestFailure : BOOL;
|
||||
xOtherAlarm : BOOL;
|
||||
xOtherWarning : BOOL;
|
||||
END_UNION
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
30
PLC/POUs/Utility/Controller/FB_Limit.TcPOU
Normal file
30
PLC/POUs/Utility/Controller/FB_Limit.TcPOU
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<POU Name="FB_Limit" Id="{d4518907-6b63-4dbf-8339-7e925234f00a}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Limit
|
||||
VAR_INPUT
|
||||
rIn : REAL;
|
||||
rMin : REAL;
|
||||
rMax : REAL;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
rOut : REAL;
|
||||
xClamped : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[IF rIn > rMax THEN
|
||||
rOut := rMax;
|
||||
xClamped := TRUE;
|
||||
ELSIF rIn < rMin THEN
|
||||
rOut := rMin;
|
||||
xClamped := TRUE;
|
||||
ELSE
|
||||
rOut := rIn;
|
||||
xClamped := FALSE;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
80
PLC/POUs/Utility/Controller/FB_PI.TcPOU
Normal file
80
PLC/POUs/Utility/Controller/FB_PI.TcPOU
Normal file
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<POU Name="FB_PI" Id="{8fe95419-3a89-4668-8d22-4f91ef3ca204}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_PI
|
||||
VAR_INPUT
|
||||
rSP : REAL;
|
||||
rPV : REAL;
|
||||
rKp : REAL;
|
||||
rTn : REAL;
|
||||
|
||||
xEnable : BOOL;
|
||||
xSaturated : BOOL := FALSE;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
rMV : REAL;
|
||||
END_VAR
|
||||
VAR
|
||||
|
||||
_rError : REAL := 0.0;
|
||||
_rIntegral : REAL := 0.0;
|
||||
_rProportinal : REAL := 0.0;
|
||||
|
||||
_rErrorSign : REAL;
|
||||
_xHoldIntegrator : BOOL;
|
||||
|
||||
_fbGetCurTaskIdx : GETCURTASKINDEX;
|
||||
_rT : REAL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Calculate error
|
||||
_rError := rSP - rPV;
|
||||
|
||||
// Calculate proportinal part
|
||||
_rProportinal := rKp * _rError;
|
||||
|
||||
// Calculate controller output
|
||||
IF xEnable THEN
|
||||
rMV := _rProportinal + _rIntegral;
|
||||
ELSE
|
||||
rMV := 0.0;
|
||||
END_IF
|
||||
|
||||
_rErrorSign := _rError * rMV;
|
||||
|
||||
_xHoldIntegrator := xSaturated AND (_rErrorSign > 0);
|
||||
|
||||
// Stop integrator if saturated
|
||||
IF (NOT _xHoldIntegrator) AND (rTn <> 0) THEN
|
||||
_rIntegral := _rIntegral + (rKp * _rT / rTn) * _rError;
|
||||
END_IF
|
||||
|
||||
// Reset integral with deactivated integral time
|
||||
IF (rTn = 0.0) AND (_rIntegral <> 0) THEN
|
||||
_rIntegral := 0.0;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="FB_init" Id="{58ddb3c6-73d3-470a-927d-f677bf66bbfe}">
|
||||
<Declaration><![CDATA[//FB_Init ist immer implizit verfügbar und wird primär für die Initialisierung verwendet.
|
||||
//Der Rückgabewert wird nicht ausgewertet. Für gezielte Einflussnahme können Sie
|
||||
//die Methoden explizit deklarieren und darin mit dem Standard-Initialisierungscode
|
||||
//zusätzlichen Code bereitstellen. Sie können den Rückgabewert auswerten.
|
||||
METHOD FB_Init: BOOL
|
||||
VAR_INPUT
|
||||
bInitRetains: BOOL; // TRUE: Die Retain-Variablen werden initialisiert (Reset warm / Reset kalt)
|
||||
bInCopyCode: BOOL; // TRUE: Die Instanz wird danach in den Kopiercode kopiert (Online-Change)
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Get current task time
|
||||
_fbGetCurTaskIdx();
|
||||
_rT := LREAL_TO_REAL(UDINT_TO_LREAL(TwinCAT_SystemInfoVarList._TASKInfo[_fbGetCurTaskIdx.index].CycleTime) * 10E-5);]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Action Name="Reset" Id="{4227580c-e163-4250-9575-dd60ff3083af}">
|
||||
<Implementation>
|
||||
<ST><![CDATA[_rIntegral := 0.0;]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
43
PLC/POUs/Utility/Controller/FB_PT1Filter.TcPOU
Normal file
43
PLC/POUs/Utility/Controller/FB_PT1Filter.TcPOU
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<POU Name="FB_PT1Filter" Id="{bdcdd199-96b1-43e5-8e4f-5515b0a2225d}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_PT1Filter
|
||||
VAR_INPUT
|
||||
rInput : REAL;
|
||||
timT : TIME := T#100MS;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
rOutput : REAL;
|
||||
END_VAR
|
||||
VAR
|
||||
_rOutputLast : REAL := 0.0;
|
||||
|
||||
_fbGetCurTaskIdx : GETCURTASKINDEX;
|
||||
_rT : REAL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Calculate output
|
||||
rOutput := LREAL_TO_REAL(_rOutputLast + (rInput - _rOutputLast) * (_rT / (TIME_TO_LREAL(timT) + _rT)));
|
||||
|
||||
// Save last output
|
||||
_rOutputLast := rOutput;]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="FB_init" Id="{8cf1c8f8-42a3-4c2a-b0ef-f9c06ee7877f}">
|
||||
<Declaration><![CDATA[//FB_Init ist immer implizit verfügbar und wird primär für die Initialisierung verwendet.
|
||||
//Der Rückgabewert wird nicht ausgewertet. Für gezielte Einflussnahme können Sie
|
||||
//die Methoden explizit deklarieren und darin mit dem Standard-Initialisierungscode
|
||||
//zusätzlichen Code bereitstellen. Sie können den Rückgabewert auswerten.
|
||||
METHOD FB_Init: BOOL
|
||||
VAR_INPUT
|
||||
bInitRetains: BOOL; // TRUE: Die Retain-Variablen werden initialisiert (Reset warm / Reset kalt)
|
||||
bInCopyCode: BOOL; // TRUE: Die Instanz wird danach in den Kopiercode kopiert (Online-Change)
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Get current task time
|
||||
_fbGetCurTaskIdx();
|
||||
_rT := LREAL_TO_REAL(UDINT_TO_LREAL(TwinCAT_SystemInfoVarList._TASKInfo[_fbGetCurTaskIdx.index].CycleTime) * 10E-5);]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
62
PLC/POUs/Utility/FB_AlarmMessage.TcPOU
Normal file
62
PLC/POUs/Utility/FB_AlarmMessage.TcPOU
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<POU Name="FB_AlarmMessage" Id="{4e628f13-10b9-47d9-8d26-ceb4bcb9bf43}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_AlarmMessage
|
||||
VAR_INPUT
|
||||
xActive : BOOL;
|
||||
xAcknowledge : BOOL;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
END_VAR
|
||||
VAR
|
||||
_fbAlarmMessage : Fb_TcAlarm;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[IF xActive AND (NOT _fbAlarmMessage.bRaised) THEN
|
||||
_fbAlarmMessage.Raise();
|
||||
END_IF
|
||||
|
||||
IF (NOT xActive) AND (_fbAlarmMessage.bRaised) THEN
|
||||
_fbAlarmMessage.Clear(0);
|
||||
END_IF
|
||||
|
||||
IF _fbAlarmMessage.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND xAcknowledge THEN
|
||||
_fbAlarmMessage.Confirm(0);
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
<Property Name="Arguments" Id="{f40c819a-ad71-4e81-830e-67d02b4e9e2f}">
|
||||
<Declaration><![CDATA[PROPERTY PUBLIC Arguments : I_TcArguments]]></Declaration>
|
||||
<Get Name="Get" Id="{c1b8ca1b-cb6c-4841-8282-61423914cb4e}">
|
||||
<Declaration><![CDATA[VAR
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[Arguments := _fbAlarmMessage.ipArguments;]]></ST>
|
||||
</Implementation>
|
||||
</Get>
|
||||
</Property>
|
||||
<Property Name="ClearedAndConfirmed" Id="{4e7fa79e-e44f-42ff-ab45-0e14a9921a12}">
|
||||
<Declaration><![CDATA[PROPERTY ClearedAndConfirmed : BOOL]]></Declaration>
|
||||
<Get Name="Get" Id="{70df159d-fc9d-44c5-ae42-7d731a5dae12}">
|
||||
<Declaration><![CDATA[VAR
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[ClearedAndConfirmed := (NOT _fbAlarmMessage.bRaised) AND (_fbAlarmMessage.eConfirmationState <> TcEventConfirmationState.WaitForConfirmation);]]></ST>
|
||||
</Implementation>
|
||||
</Get>
|
||||
</Property>
|
||||
<Method Name="Init" Id="{c066689c-dd69-4f09-b5b0-76b34267abac}">
|
||||
<Declaration><![CDATA[METHOD Init : BOOL
|
||||
VAR_INPUT
|
||||
stEventType : TcEventEntry;
|
||||
xWithConfirmation : BOOL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[_fbAlarmMessage.CreateEx(stEventEntry := stEventType, bWithConfirmation := xWithConfirmation);]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
17
PLC/PlcTask.TcTTO
Normal file
17
PLC/PlcTask.TcTTO
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<Task Name="PlcTask" Id="{13b7271a-7fe7-45e4-a613-10870835774e}">
|
||||
<!--CycleTime in micro seconds.-->
|
||||
<CycleTime>10000</CycleTime>
|
||||
<Priority>20</Priority>
|
||||
<PouCall>
|
||||
<Name>MAIN</Name>
|
||||
</PouCall>
|
||||
<TaskFBGuid>{ffdacf88-4402-4cda-9656-2a188e28ec71}</TaskFBGuid>
|
||||
<Fb_init>{0eaf59ea-61db-47c0-9b16-500c1d3c6c82}</Fb_init>
|
||||
<Fb_exit>{f41aba84-dc9f-4b62-bb12-30d3e8314fa6}</Fb_exit>
|
||||
<CycleUpdate>{347af9e1-a730-412d-bdd1-dba423bbf20a}</CycleUpdate>
|
||||
<PostCycleUpdate>{10f1bd59-1481-4492-b627-08c962a0f93d}</PostCycleUpdate>
|
||||
<ObjectProperties />
|
||||
</Task>
|
||||
</TcPlcObject>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
PLC/_Libraries/cmblu/baselib/0.9.1/baselib.library
Normal file
BIN
PLC/_Libraries/cmblu/baselib/0.9.1/baselib.library
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
PLC/_Libraries/system/sysdir/3.5.12.0/sysdir.compiled-library
Normal file
BIN
PLC/_Libraries/system/sysdir/3.5.12.0/sysdir.compiled-library
Normal file
Binary file not shown.
BIN
PLC/_Libraries/system/sysfile/3.5.9.0/sysfile.compiled-library
Normal file
BIN
PLC/_Libraries/system/sysfile/3.5.9.0/sysfile.compiled-library
Normal file
Binary file not shown.
Binary file not shown.
BIN
PLC/_Libraries/www.tcunit.org/tcunit/1.2.0.0/tcunit.library
Normal file
BIN
PLC/_Libraries/www.tcunit.org/tcunit/1.2.0.0/tcunit.library
Normal file
Binary file not shown.
12
PLC_SIM/DUTs/ST_MODULE_ERROR.TcDUT
Normal file
12
PLC_SIM/DUTs/ST_MODULE_ERROR.TcDUT
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="ST_MODULE_ERROR" Id="{f48f024b-dcdb-4f15-9afc-badf412ed600}">
|
||||
<Declaration><![CDATA[TYPE ST_MODULE_ERROR :
|
||||
STRUCT
|
||||
// Unit error array
|
||||
astUnitErrors : ARRAY[0..3] OF ST_UNIT_ERROR;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
12
PLC_SIM/DUTs/ST_STRING_ERROR.TcDUT
Normal file
12
PLC_SIM/DUTs/ST_STRING_ERROR.TcDUT
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
||||
<DUT Name="ST_STRING_ERROR" Id="{269f429d-5923-4dac-b08e-323d4429d2dd}">
|
||||
<Declaration><![CDATA[TYPE ST_STRING_ERROR :
|
||||
STRUCT
|
||||
// Module error array
|
||||
stModuleError : ARRAY[0..2] OF ST_MODULE_ERROR;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user