![ABB- 800xA -自定义用户功能块和面板_第1页](http://file4.renrendoc.com/view/825ea561ab9f3d8be69dca0366f3eb7a/825ea561ab9f3d8be69dca0366f3eb7a1.gif)
![ABB- 800xA -自定义用户功能块和面板_第2页](http://file4.renrendoc.com/view/825ea561ab9f3d8be69dca0366f3eb7a/825ea561ab9f3d8be69dca0366f3eb7a2.gif)
![ABB- 800xA -自定义用户功能块和面板_第3页](http://file4.renrendoc.com/view/825ea561ab9f3d8be69dca0366f3eb7a/825ea561ab9f3d8be69dca0366f3eb7a3.gif)
![ABB- 800xA -自定义用户功能块和面板_第4页](http://file4.renrendoc.com/view/825ea561ab9f3d8be69dca0366f3eb7a/825ea561ab9f3d8be69dca0366f3eb7a4.gif)
![ABB- 800xA -自定义用户功能块和面板_第5页](http://file4.renrendoc.com/view/825ea561ab9f3d8be69dca0366f3eb7a/825ea561ab9f3d8be69dca0366f3eb7a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FILENAME
Exercise_6.3_optional.doc
D
SUBJECT
System800xATraining
PAGE
52
PAGE
51
FILENAME
Exercise_6.3_optional.doc
2/52
CreatingaFaceplatefortheUser_definedFunctionBlock(Optional)
Description
Wearegoingcreateasolutionwithablock,calledmyTank_FB,.Itwillhavethefollowingcharacteristics.
AvariablecalledTankLevel,whichrepresentsthelevelintheTank
AvariableFlowSpeed,whichsetsthespeedoffilling
AvariablecalledOnOffwhichstarts/stopsthefillingoftheTank
AparameterMaxAlarmwhichsetsthelevelforaHHAlarm
AparameterMinAlarmwhichsetsthelevelforaLLAlarm
WewouldliketohavethefollowingaspectsconnectedtothemyTank_FB
GraphicalElementshowingtheTank,thename,thealarmlimitsandtheLevel
AFaceplateforcontroloftheTank
TrendDisplayshowingtheLevel
AhistorylogloggingtheLevel
AnAlarmandEventlistshowingtheTankAlarms
SolutionSteps
ProcessPortalAandControlBuilderisananintegratedDCSSystem.Thismeansthatyouonlyneedtoengineeringtheysystemonce.AllobjectsthatyoucreateintheControlBuilderwillautomaticallyappearinProcessPortalandviceversa.
StartPlantExplorer
StartPlantExplorerandopennavigatetotheControlStucture
OpentheProjectintheControlStructure
ItmaytakeaminuteortwotoopentheProject.
CreateanewofProgram
CreateanewProgramandcallitExerciseandassignaTasktotheit.ProcessPortalgetsconfusedifyouhaveseveralapplicationswiththesamename.Besuretoselectauniquenameforyourapplication.
AttachittoaTaskintheController
CreationofyourLibrary
Thenextstepistocreatealibrary,sowecanre-usethesolutionwecreatetodayinseveralprojects.
CreateaLibrarycalledYourNameDemoLib,forexampledemoLib.
CreationofmyTank_FB
InthelibraryweshouldcreateafunctionblocktypecalledmyTank_FB.
ControlBuilderispartoftheIndustrialIT,whichleadstothatwhatyoucreateintheControlBuilderisalsocreatedinthePlantExplorer.
CreatethefunctionalityoftheTankBlockasdescribedbelow.Wewilllaterincreasethefunctionality.
NotethatyouneedtobeintheControlBuildertomakesthechangesinthecode.EitheryouswitchtotheControlBuilderusingtheTabsoryoucanrightmouseclickonyouFunctionBlockinPlantExplorerandselectFunctionBlockEditor.
CodeandParameters
Variables
CreationofGraphicElementonmyTank_FB
ThenextstepistocreateaGraphicElementonthemyTank_FBtypeinProcessPortal.WewanttocreateaGraphicElementthatshowsthevalueofLevelinaNumericDisplayandinaBarGraphandshowthenameofthefunctionblock.
LocatethemyTank_FBintheObjectTypeStructureandselectNewAspect.
CreateanewGraphicElementPG2andcallitGraphicElement.Edittheelement.
Createthestaticpartasfollows
Iusedthefollowingelements
Forthetanktop,bottomandbody
FortheName
FortheBarGraph
FortheNumericLevel
Itistimetoconnecttheelementstotheprocess.WhatwearegoingtouseittheExpressionBuilder.BydoingthisisinObjectTypeStructureweassignthevariablesrelativelytotheTankObjectType.Thismeansthattheassignmentswillworkforanytankthatwecreate,i.e.wedonotneedtoassigntheNameandtheLeveltoeachTank.Itisdoneautomatically.
SelecttheNumericandjumptothepropertieswindow.SettheparameterNo1~5aswellastheblowgraphic.AdjusttheNo.6parametertoapropervalue.
FortheNo.7parameter,jumptotheExpressionEditorfromselectingradiobuttonswithinthePropertiesWindowtoadddynamicvalue:TankLevel.
ContinuetoaddtheLeveltotheinputoftheBarGraph.
ConnecttheTextElement’sTextpropertytotheNameoftheFunctionBlock.
Savethegraphicandtestthebehavior.Testing,whileintheGraphicEditor,canbedoneby“View>TestData”.
TakealookintheObjectTypeStructureonthegraphicelement.
Creationoftheyourfirstprogram
LetscreateasmallapplicationconsistingoftwoinstancesofthemyTank_FBandtestthefunctionality.WewillusetheFunctionBlockEditortowriteourapplicationinProgram2
ConnectLibraries
ThefirststepweneedtodoistoConnectthemyUserLibtoourApplication.GotheControlStructureandselectyourapplication.PressConnectLibraries
SelectmyUserLibandpressOK
CreatetheProgram
GotoExcise_No2anddeclareaFunctionBlockcalledmyTank1andassignFS1(FlowSpeed1)totheinputandsetitto5.RepeattheprocedureforanotherTankcalledmyTank2andusetheinputFS2(FlowSpeed2)andsetitto10.
Thesolutionisbelow
VariablesandCode
FunctionBlocks
AssoonasyoupressApplyintheEditorWindowyouwillgettheFunctionBlocksintheControlStructureofProcessPortal.ThisiswhatwecallIntegratedEngineering.
TakealookintheControlStructureandyouwillseebothTanks.
Wewouldliketoseeifourprogramsworks.GotoSimulatemodeandtestyourprogram.
BelowistheExcise_No2insimulationmode
Youcanseethevalueoftheparameters,butifyouwanttoseethevariables,forexamplethelevelyouneedtogodownonelevel.Youcandothatmyrightmouseclickingonthefunctionblockandselect“OnlineEditor”
BydoingthatyougetaviewofthecodeinsidetheFunctionBlock.
Inthismodeyouwillseeallvariablesinsidethefunctionblock.
Godownloadandgoon-line
Nowwhenyouknowyourelementisworking,itistimetodownloadandgo-online.RemembertosetyouSystemIdentityforyouSoftControllertoyourIPaddress(127.0.0.1:2fortheSoftController)
Checkthatyouhavelivedata
YoucancheckthatyouhavelivedatabylookingattheFunctionBlockaspectsintheControlStructure.
LocatetheExercise,Program1,selecttheFunctionBlockandthetabPropertyViewandselect“Subscribeforlivedata”
Ifyougetvaluesinthetableyouknowthatyouhavelivedata.
Ifyoudonotgetlivedata,makesurethatyouhavestartedtheOPCServerandthatyouhaveselectedyourPCastheprovider.
CreationofthefaceplateformyTank_FB
Nowwewanttocreateafaceplate,tocontrolourLevelinthemyTank_FB.
FirstofallweneedtoaddthecodethatmakesispossibletostoptheTankLevelintheTank.
GobacktotheControlBuilderandeditthemyTank_FBbyaddinganOnOffvariableanduseitasbelow.
CreatetheFaceplate
TheFaceplateisthemainaspectforthefaceplate.LocatethemyTank_FBintheObjectTypeStructureandcreateaFaceplatePG2aspectnamedFaceplate.
Takealookatthefaceplate.Atthismomentitisjustempty.Wewouldliketofillitwithsomeinformationandsomeactionsbuttons.
ThefirststepistoselecttheConfigviewandcreatetwobuttonsOnandOfftosetthevalueoftherunningvariable.SwitchtoConfigViewandselecttheButtonstab.
ClickIcon/Labelstospecifywhaticonortextyouwanttohaveonthebutton.
Thenextstepistoselectwhatpropertywewanttoset.ThisbuttonshouldsettheOnOff.
Thethirdstepistosetwhatpropertyvalueweshouldwritetothecontrollerwhenwepushthebutton.WewouldliketowriteTruetotheOnOffwhenwepushtheOpenButton.
Youcanalsosupplyatooltip.Thelastthingyouneedtodoistoselectinwhatpositionsthebuttonshouldappear.Thepositionsarenumberedfromlefttoright.
RepeattheprocedurefortheCloseButtons.CallitC.ThelastthingyouneedtodoistosetthepositionoftheButtonintheFaceplate.
GobacktotheFaceplateViewandtakealookatyourFaceplate.
GobacktotheControlStructureandselecttheOverviewGraphicsonExcise_No2.RightmouseclickonTank1andselecttheFaceplate.TrytoOpenandClosetheTank.Tank2hasthesamefunctionalitysincewebuilttheFaceplateontheType.
ItwouldbeniceifanoperatorcouldopentheFaceplatebyjustclickingontheObject.Itisquiteeasytoconfigurethatbehavior.GobacktotheObjectTypeStructureandselecttheFaceplateAspect.RightmouseclickandselectProperties.
SelectDefaultAspectintheAspectDetailsTab.
GobacktotheOverviewGraphicsandclickontheTanktobringupthefaceplate.
CreationofaFaceplateElement
Wewanttohaveafaceplateelementinthemiddleofthefaceplatethatshowabargraphwiththelevel.Wealsowanttobeabletosetthelevelmanually.
Inordertodothat,weneedtocreateafaceplateelementonthemyTank_FB.AFaceplateElementisanelementthatcanacceptinputtothecontroller.
Editthefaceplateelement.WewanttobeabletoclickandsetthelevelandturntheLevelonandoff.
WearegoingtousetheToggleButtonandtheBar
TietheLeveltotheBarvalueinthePropertiesWindow.
AttachtheTogglebuttontotheOnOffsignal
SavetheFaceplateElement
Youneedtooutthisfaceplateelementintothefaceplate.GototheObjectTypeStructureandselectConfigViewontheFaceplateandselecttoincludetheFaceplateElementintheElementstab.
ClickApply
OpenyourOverviewGraphicsandselecttheFaceplate.ItshallnowhaveaniceFaceplateElementintheFaceplate.YoucansetthelevelandtoggleOnOffwiththeToggleButton.
Addanindicator
WewouldliketohaveanIndicatorshowingthestatusoftherunningvariable.
SelecttheConfigViewontheFaceplateintheObjectTypestructure.
ClickintheIcons/LabelsWindowandsupplythewhatshallbeshownastheindicator
Weneedtodecidewhenwhaticonshouldbeshown.ClickintheExpressionWindowtosupplyanExpression
Iif($'.:OnOff',0,1)
Thisexpressionmeans:Showlabelnumber0ifOnOffisTRUEotherwiseshowlabelnumber1.
SelectthepositiontoshowtheIndicator
OpenyourOverviewGraphicsandselecttheFaceplate.ItshallnowhaveaniceFaceplateElementintheFaceplate.YoucansetthelevelandtoggleOnOffwiththeToggleButton.
CreationofanOverviewDisplay
WewouldliketohaveanOverviewDisplaysthatholdsbothofourTanks.GototheFunctionStructureandcreateanewGraphicDisplayPG2.
RightmouseclicktoEdit.
Wewould,ofcourse,liketore-useinsteadofcreatinganewTankElement.
Agraphicelementmaybeusedinanygraphicdisplay.Toaddanelementtothedisplay,selecttheElementBrowsericonfromthetoolbar:
Allofthedynamiclinkingtotheprocessdataisalreadydone.Thisisthepowerofusinggraphicelements.ThereforewearegoingtousetheElementExplorertoselecttheGraphicElementsonourTanks.
SelectmyTank1andMytank2intheControlStructure,allreusablegraphicelementsarelisted.ThistimemyTank1ownagraphicelementnamedgraphicelementonly.
Selectandaddthegraphicelementinthedisplaybyseveralmethods:
-selecttheelementandclickontheeditpanel
-double-clicktheselectedgraphicelement
-draganddroptheelementontotheeditpanel
-selectthegraphicelementandpress“Enter”.
ArrangethemandinsertatextasaHeadline.
TherearetwomodeswhichcanbeselectedintheGraphicsBuilder:
• EditMode
Thisisthedefaultmodeandallowstheusertobuildthegraphicaspectwithoutanyinteractiveconnectiontodynamicdata.
• LiveMode
Thisallowstheusertoviewthebehaviorofgraphicaspectswithdynamicvalues.
PleaseuseLivemodetoseeresultbelow.
AsyouseeyoucanhavelivedataintheGraphicsBuilder.
SavetheGraphics.
IfyoudonotseethelivedatapleasemakesureyouhaveselectedtheLiveDataoption
AddaTrendDisplayformyTank_FB
Wewouldliketohavearun-timetrendshowingtheLeveloftheTank.GototheObjectTypeStructureandselectthemyTank_FBandcreateaTrendDisplay.
WecreateTrendDisplayonthetype.Inordertogetarelativepath,typein“.”(youtypeinadotandthedotwillbereplacebythetypename)fortheObject.SelecttheFunctionBlockastheAspectandtheTankLevelastheproperty.
Alsosetthehighrangeto100.00
Savethetrend.
OpenyourOverviewGraphicsandselecttheTrendDisplay.
Changethetimerangetoaminute.
ConfigurehistorytologtheTankLevels
WewouldliketohistorizetheTankLevel.
GototheControlStructureandcreateaLogConfigurationAspectonTank1.
TheLogConfigurationAspectletsyoudefinewhatpropertytologandwhattemplatetouse.Thetemplatedefineshowtolog,e.g.howoftenandhowlargeofastorageeachtaghas.
ClickontheTankLeveltologit.
SelecttheTemplateyouwouldliketouse
PressOKandApply.
NowyouTankLevelforTank1isbeingHistorized.
RepeattheProcedureforTank2anditsTankLevel.
AddanAspectLinktotheTrendontheFaceplate
WewanttohaveanAspectLinkonthefaceplatetotheTrendDisplay.GobacktotheObjectTypeStructureandselectConfigViewontheFaceplateandtheIndicatorsTab.
SelecttheViewyouwantthebuttontoopen.
SelecttousetheAspectIconastheIcon/Label
Selectthepositiontobenumber6foralldifferentsizesofthefaceplate.
OpenyourOverviewGraphicsandselecttheFaceplate
AddingAlarmingtothemyTank_FB
ConfiguretheAlarmHandlingforthemyTank_FB
InordertogettheAlarmingfunctionalityintheControlleryouneedtoinserttheAlarmEventLibintotheproject
ConnecttheAlarm&EventLibtotheApplication.
ConnecttheAlarm&EventLibtomyUserLib.
WewilladdthealarmingtoourmyTank_FBtype,whichmeansthatallourinstanceswillgettheAlarmfeatures.
AddtwoFunctioBlocksoftheAlarmCondtype,calledHIHIandLOLO,tothemyTank_FB.
WewouldliketobeabletochangetheHIHILimitandtheLOLOLimitfromtheuserinterface.InordertogetthecorrectNamedisplayedintheAlarmandEventList,weneedtoaddaNameparameterandassignintheprogram.
Declarevariablesandwritethecodeasbelow
Parameters
SinceweaddedsomeParametersweneededtoupdatetheControlLogic.
DownloadthecodetotheController
SetupAC800M/COPCServertocollectAlarms
IfyouhavenotconfiguredtheOPCServertocollectAlarmsfromyourcontroller,pleasefollowthestepsbelow.(Youneedtodothiseverytimeyoure-startyoursystemoryouneedtoconfiguretheOPCServertoAutoLoadtheconfiguration)
OpentheOPCPanelfromtheStartMenu
TypeintheIP-addressofyourcontrollerandpressConnect
YourOPCServerisnowconnectedtoyourController
ConnectProcessPortaltotheOPCServer
IfyouhavenotconnectedtheOPCServertoProcessPortalA,pleasefollowthestepsbelow.Youonlyneedtodothisonce
OpenPlantExplorerandtheServiceStructureandlocateEventcollectorandnewaservicegroupobjectnamedAC800MOPCAECollector.
AddaserviceProvideobjectnamedAC800MOPCAEProviderinthisgroup.
.
ClickAddandselecttheOPCAEServerforAC800M.ClickApplyintheServiceGroupDefinitionAspect.
YouhavenowsetuptheAlarmCollectioninProcessPortal
ChecktheAlarming
OpenyourOverviewGraphicsandselecttheAlarmListforTank1.Note:TheAlarmListwascreatedautomaticallyonthemyTank_FBanditisconfiguredtoshowalarmsonlyfortheselectedobject.
YoucanalsochecktheAlarmsforTank2byrightmouseclickingontheTank2andselectingtheAlarm&EventList.
CreateanAlarm&EventListforanArea
WewouldliketohaveanAlarmListforthatshowsallalarmsfromTank1andTank2.
GotoExcise_No2andcreateanAlarm&Eventlist
ThisAlarm&EventListshouldshowtheAlarmscomingfromExcise_No2andbelow,i.e.myTank1andmyTank2.
SelecttheConfigViewontheAlarm&Event
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60086-4:2025 CMV EN Primary batteries - Part 4: Safety of lithium batteries
- 菊花种植收购事宜合同
- 基于大数据驱动的企业转型升级合作协议
- 企业广告牌制作合同
- 塔吊租赁协议样本
- 环境监测与评估合同
- 防雷装置检测技术服务合同
- 场地转让合同协议书
- 房地产项目合作协议
- 自动化生产线改造项目合作合同
- 光缆线路施工安全协议书范本
- 《我国国有企业股权融资效率实证研究》相关概念及国内外文献综述2600字
- 2025年湖南交通职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 成本合约规划培训
- 交通法规教育课件
- 小学校长任期五年工作目标(2024年-2029年)
- 2022-2024年浙江中考英语试题汇编:阅读理解(说明文)教师版
- 小学生思政课课件
- 2016届高三备考建议
- 北师大版六年级下册数学全册表格式教案
- 2021年阿里巴巴全球数学竞赛预选赛试题及参考答案
评论
0/150
提交评论