client meeting 1 minutesimages.shoutwiki.com/mindworks/b/bd/2017_virtualcontrolsystemn… · amazon...
TRANSCRIPT
ClientMeeting1MinutesClientMeeting1Minutes
Discussionofdeliverables
Virtualizationof5differentcontrolsystemscenarios
Lightweight,portableVMs
Devices
“leaf”
Relay
Shouldbereal-time(how?)
PLC
2ndlevel:Control-leveldevice(likeSELRTAC)
3rdlevel:Networkingdevices
Switches:justneededatthehostlevel?(formulti-hostmachines)
Securitydevice(firewall,gateway)
Startwithonesubstation(about10relays,1gateway,etc.)forourdemo
Step1:researchexistingvirtualdevices
Howaccuratearetheytotherealworld?
Whatexists?
Nextstep?(finalizerequirementsandprepfordesign.)
Display
Visualizationwouldbenice.
Hosting:internalGitLabinstance
Probablyopensourcereleaseinthefuture
Noconfidentialityissueswithourpartoftheproject
Any(reasonable)programminglanguage(s)
Documentationrequirements
Partiallyhandledthrough
Docsforspecificdevices
Basicstuff(beta)byaboutMarchwouldbegood.
Noneedforautomatedsetupyet
ClientMeeting2MinutesClientMeeting2Minutes
Nextmeeting:26thor1st
Discussedexistingvirtualdevices
Possiblyadd
Continuedgoals
Findspecsforcontrollers
SEL/Siemenswouldbegoodoptions.
Mayneedtothrottlecontrollerperformancetomatch“realhardware”
FocusisontheGUIinterface.
Previewgoal(rightbeforewinterbreak)
Gateway
Network
Noneedtohandleserialcommunication
Relaydevicewithdatamodel
Somekindofsupervisororcontroldevice
Joseph:askaboutpreviousvirtualizationproject
Gettingdataintorelays
OpalRT?
Buildsimsdirectlyintorelays?(maybesimpler…)
“Pluggable”datamodel(Sharedlibrary?Process&pipes?)
CouldintegratewithOpaltoo.
Howdoestherelayrespondtoatrip?
Continuedvoltagemeasurementsorjustzeroes?
AskDr.Johnson.
Arrangetourofasubstation?
Stretchgoal:whole-system“monitor”interface
ClientMeeting3MinutesClientMeeting3Minutes
2017-11-012017-11-01
MovingfromstandaloneserverstoAmazonAWSinstances
Makesureallteammembershaveaccess.
Documenttheprocessofdeployingacontainer.
Virtualrelay
Discussedprogress
Valuescanbereportedasintegers(involts,amps,anddegrees)
Controldevice
Reviewedexisting(limited)design;shouldbesufficientfortheprototype
Licensing:whateverPNNLlegalapproves
Designreview
ProbablyNovember15thataround2:30or3:00PM.
Diagrams
Amazonintegrationstuff
Roughtimeline
Wiki
We’lltrytogetPacificProjectlogousagerights.
ClientMeeting4MinutesClientMeeting4Minutes
2017-12-052017-12-05
Changeofmodel—integratingbuildingautomation
Existingbuildingautomationmodelbecomesnewfocus
We’llneedtopackageOpenPLC.
Schedulingsubstationtour
Jan.23or25—3:30PM
Weshouldprovideacombinedteamscheduletoknowwhenwe’reallavailable.
Expoposter
CanbeprintedatPNNL
Provideafileabout2weeksahead
Prototype
BasicallysomethingwithanIPaddressthatcanbepluggedintothenetwork
Nextmeetingtime
Tues./Thurs.afterMLKJr.Day
Possiblyworkingwithagradstudentonsomestuff
ClientMeeting5ClientMeeting5
2018-01-312018-01-31
StatusupdatesStatusupdates
Willreceiveadatausageagreement
Tryingtodobothelectricalandbuildingautomation
DesignreviewDesignreview
ProbablynextFriday(butnotat1:00PM)
JoeywilltalkwithBruce.
Tasks:betweennowandendofsemesterTasks:betweennowandendofsemester
Note:ExpoisinlateApril.
Virtualrelay
Startusing“real”inputdata.
DockerSwarm
Documentation
HMI
VPNforinternalnetworkaccess
DatahandlingDatahandling
MostlyCSV-formatted
Clientmeeting6Clientmeeting6
2018-02-232018-02-23
Showedoffexistingprototypes(VPN,HMI,etc.)
Discussedfutureintegration
We’llwanttoseeifwecansetupDockercontainerswithabridgeintoanexternalnetwork.
Definitelyworkondocumentation!
Designissue:howdowemakecontainersawareofeachother’sIPaddresses?
Finalcodedeployment:hostedinternallyatPNNL
Internalcontainerregistry?
NeedsfeedbackfromPNNLIT.
Clientmeeting7Clientmeeting7
2018-04-122018-04-12
Statusofmajorcomponents
Mostlyready
Router/switch
Expanddocumentation
Options
Dockerinternal(withoverlaynetwork)
Existingphysical/virtualdevices
Research(anddocument!)macvlannetworks.
IPaddresshandling(DHCPand/orstaticIP)
Expo
Whenispresentation?(NotifyJessica.)
Stufftodobefore:
Useactualdatafordemo
Tweakrelaytousetimestampsinsteadoffixedinterval?
Relativelylowpriority;intevalsshouldbefixedanyway.
Startpreparingposter(willneedtobeprintedearly)
Legal
Willgetinformationviaemailonwhatlicensewe’llbeusing
Containerregistry
We’llneedtosetupaninternalDockerregistrysincethenetworkwillbeair-gapped.
Scripttoautomaticallybuildallimages?
We’llneedtomakesurewehaveawaytoconfiguretheregistryname!
InstructorMeeting1MinutesInstructorMeeting1Minutes
Discussedcurrentprogress
Mostlyblockedbylimitedclientcontact
Showedsystemdiagram
Meeting1MinutesMeeting1Minutes
2017-09-11,6:00PM2017-09-11,6:00PM
Reviewedcontract
Initialclientmeeting:arranged(Joseph)
3:00onThursdaythe14th
Conferenceroomreserved
Willdiscussinstructormeetingafter;mightbepossiblerightafterclientmtg.
JIRA(Dillon):licenseprocessstarted;shouldbereadysoon
Reviewedearlierdiscussionswithclient
VirtualdevicesandModBus/DNP3communication
LikelyfocusedonC/C++
Somespecsexistforvirtualdevicestobuild.
Discussionofarchitecture
LikelybasedonDockercontainers
Madeagendafornextclientmeeting
AssignmentsAssignments
All:developsomehigh-levelfamiliaritywithModBus,DNP3,andcontainerization
FuturetasksFuturetasks
Finalizelastbitsofcontract
Meeting2MinutesMeeting2Minutes
Monday,2017-09-18,6:00PMMonday,2017-09-18,6:00PM
Revisedcontractforsmallerteam
Whatareourgoalsrightnow?
ReviewexistingsimulationsystemsforrelaysandRTAC-likedevices
DiscussedstructureofDockerandhowwewoulduseit
Discusseditemsfornextclientmeetings
AssignmentsAssignments
All:researchvirtualdevices
Gabe:relays
Joseph
ContactPNNLaboutserveraccess
Lookintocontrolmachines
Schedulenextclient/instructormeeting
Ben
PrepdiagramofDockerstructure
SetupGitLab/Jenkins
MoreresearchonOpenPLC
Meeting3Meeting3
Monday,2017-09-256:00PMMonday,2017-09-256:00PM
ReviewReview
Researchresults
Joseph:DNP3information
Controlsystems:prettystandardLinuxboxes
Anyspecialprogramminglanguagesupport?
Goals/tasksGoals/tasks
Buildinfrastructureprototype
AssignmentsAssignments
Ben
GetPNNLserveraccess
Setupinfrastructure
Usegatewayasatestcase?
Continueresearch(all)
Meeting4MinutesMeeting4Minutes
2017-10-022017-10-02
ReviewReview
Nowordfromclientaboutserver/meetings
Foundarelaydatasheet
DiscussionDiscussion
Reviewedupcomingdeadlines
AssignmentsAssignments
Ben
Updateportfolio
AdddatasheetsI’vefound
Followuponserveragain?
Gabe
LookatRTACdatasheets
Joseph
Confirmnextclientmeeting
Meeting5Meeting5
2017-10-092017-10-09
Reviewofgoals/tasksReviewofgoals/tasks
Snapshotday
Assembledsnapshotmaterials
PNNLserver
Stillwaiting
DesignDesign
Discusseddesignofvirtualrelayprogram
AssignmentsAssignments
Ben
Waitonserver
Considerrelaydesignfurther
Joseph
Takesnapshotpostertocampus
Meeting6Meeting6
2017-10-162017-10-16
Reviewofgoals/tasksReviewofgoals/tasks
Snapshot:notbad,butnexttime:
Morecolor
Biggerposter
Revieweddesignprocessforvirtualrelay
DesignDesign
Discussedthreadarchitectureofvirtualrelay
Dowereallyneedaseparateinputsimulationthread?
Somediscussiononfuturegoals
UseWireSharktoshowModbuscommunication?(ifwedon’thaveaviewer)
AssignmentsAssignments
Joey&Gabe
ContactEEprof.
Askclientaboutserverprogress
Ben
Workoninputmodelandthreadhandlingforvirtualrelay
Meeting7Meeting7
2017-10-232017-10-23
Reviewofgoals/tasksReviewofgoals/tasks
Reviewedexistingrelaycode
Renamecompile-timeconfigurationnamespace
WalkedthroughDebianVMsetup
DesigndiscussionDesigndiscussion
Controldevicearchitecture
DockerizedLinuxcontainer
ProbablyaPython/FlaskWebappfortheuserinterface
OpenPLCforPLCfunctionality?
Discussedplansfordesignreview
Mostlymakingslides/diagrams
AssignmentsAssignments
Ben
Cleanupexistingrelaycode
Expanddoccomments
All
PlaywithOpenPLC&PythonModbusbindings
Reviewexistingrelaycode
Makeplansfordesignreview
Joey
Followupwithclient
Meeting8Meeting8
2017-10-302017-10-30
Reviewofgoals/tasksReviewofgoals/tasks
Wikipagestarted
Nextmeetingscheduled
Stateofrelaycode
Controllogicand“inputglue”
DesigndiscussionDesigndiscussion
GitLabCIinsteadofJenkins
Structureofrelaycode
OverallstructureisOK.
AssignmentsAssignments
Ben
Buildout“inputglue”
Expanddocsandcomments
Double-checkinvariantsonConnection.receive()
All
ControldeviceWebserverresearch
Python+Modbus+Flask
Meeting9Meeting9
2017-11-062017-11-06
Reviewofgoals/tasksReviewofgoals/tasks
Wikipageisup.
Minorupdatestovirtualrelaycode
Needaschedule
Endofsemester:virtualrelay&basiccontroldevice
Relaystillneedsinput&controllogic
Nextsemester(about3weekseach)
PLC
Gateway
Multiplehostmachines
Polish&tooling(refinedocs;makeconveniencescriptsifnecessary)
Designdiscussion:transitioningtoAWSDesigndiscussion:transitioningtoAWS
PlayedwithECS,butplainEC2instancesareprobablyabetteroption.
StartusingAlpineLinuxforDockerimagebases(insteadofDebian)
Reducesimagesizesoit’sfastertopushimages
Reviewedpreviousdesign(translateswelltoAWS)
Virtualnetworking:useDockercontainernetworksinswarmmodewithDHCP/DNS
WecanprototypeinourownindividualAWSaccountstopreventbillingissues.
AssignmentsAssignments
Ben
MoreworkonAWSsetup
Initialsetupscript
Possiblyrefinevirtualrelay
Gabe
ChooseaPythonModbuslibrary.
Joey
Officiallyscheduledesignreview
Startondesignreviewslideshow
All
Reviewwiki
Meeting10Meeting10
2017-11-132017-11-13
Reviewofgoals/tasksReviewofgoals/tasks
Designreviewslides
Reviewed.Looksgood.
Virtualrelay
Basicallyreadytoimplementinputcode
AWS+Docker
Addedsetupinstructions
Testedvirtualnetworking
AssignmentsAssignments
Ben
Morevirtualrelay&Dockerstuff
Joey&Gabe
Flaskapp
Meeting11Meeting11
2017-11-272017-11-27
Reviewofgoals/tasksReviewofgoals/tasks
Virtualrelay
Workingoncodetoletclientsupdatetripstatus(about50%complete)
Needdatafromclient
Control/HMIdevice:workingoninitialsetupofFlaskdevenvironment
DesigndiscussionDesigndiscussion
Relaycontrol“protocol”
Writetoholdingregister0
0—holdstate
1—trip
2—reset
SnapshotdaySnapshotday
Getbiggerboard?(probablynotnecessary)
Mentionfastdeploymentscripts?
Newtimeline
AssignmentsAssignments
Joey
Snapshotposter
Finishwikipage
Ben
Continuevirtualrelaycode(manualtrip/resetandinputplugins)
Gabe
Workoncontrol/HMIdevice
Meeting12Meeting12
2017-12-042017-12-04
Reviewofgoals/tasksReviewofgoals/tasks
Virtualrelay
User-sidecontrolisworking;pluginsupportisstarted.
HMI
Roughmockupstarted
UpcomingeventsUpcomingevents
Meetingw/client:tomorrow@2:30
End-of-semesterdeliverables
Logbooks
Portfolios
Wikipage
Probablynotmeetingduringfinalsweek
AssignmentsAssignments
Joey
Updatewiki
Ben
Workonrelayinputplugins
Updateportfolioabit
Gabe
WorkonHMImockups
Meeting13Meeting13
2018-01-222018-01-22
Reviewofgoals/tasksReviewofgoals/tasks
Joey
FinishedExporegistration
Contactedclient
OpenPLC
BuiltbasicDockerimage
Canloadstartupcodefromapre-definedlocation
OpenPLCcodeisabitugly,butitdoeswork.
Relayresearch(Gabe)
UseRabbitMQforcommunicationbetweenrelays(forelectricalmodeling)?
Willhavetoconsiderreal-timeissues
LookatarchitectureofAmazon’sIoTplatform?
AssignmentsAssignments
Joey
PlanregularmeetingswithDr.Bolden
LookatPythonModbus
Gabe
WorkonHMI
Ben
Trytomakethevirtualrelaycodemoregeneric?
Makesureclienthasaccesstoallcode
SendoutalinktoallGitHubprojects
MiscellaneousMiscellaneous
Consideringmovingweeklymeetingstosomewhereoncampus
Meeting14Meeting14
2018-01-292018-01-29
Reviewofgoals/tasksReviewofgoals/tasks
Joey
Startedsettingupinstructormeeting
Meetingwithclientat1:00PMonWednesday
LookedatPyModbus
Gabe
ProgressonHMI — readsconfigurationfileanddisplaysinterface
Ben
Refactoredrelaycode
DesigndiscussionDesigndiscussion
DiscussedDockerandModbustopicsforthenextstageofimplementation
BroughtupRabbitMQ — shouldwementionitinourdesignreview?
Upcominggoals/tasksUpcominggoals/tasks
Detaileddesignreview
Probablynextweek
AssignmentsAssignments
Joey&Gabe
StartintegratingtheHMIwiththevirtualrelay.
Ben
Outlinesometopicsforthedetaileddesignreview.
LookintoDockerSwarmsetup?
Refinedocumentation
Meeting15Meeting15
2018-02-052018-02-05
Reviewofgoals/tasksReviewofgoals/tasks
Virtualrelay
Needtofixabug—somekindofracecondition?
HMI
HasaDockercontainernow
Lookedatprototype
Reviewedprojectstructure
VPN
Startedkeygenerationtool
Note:we’llhavetoconsiderhowDNSwillworkovertheVPN.
Documentation
Notedimprovementstobemade(specialthankstoGabeforreviewing)
Upcominggoals/tasksUpcominggoals/tasks
Designreview
Reviewedoutline
WillmeetThursday@10:45topracticepresentation
AssignmentsAssignments
Joey
Makedesignreviewpresentationfromoutline
Contactinstructor&client
Schedulearoomforthedesignreview
Ben
Fixvirtualrelaybug
Updatevirtualrelayarchitecturediagram
UpdateDockerdiagram(gatewaylocation)
Gabe
HMI&Modbus
Workondocumentation“holes”
Meeting16Meeting16
2018-02-122018-02-12
Reviewofgoals/tasksReviewofgoals/tasks
Detaileddesignreviewwentwell.
Virtualrelay
Fixedsomebugs
DesigndiscussionDesigndiscussion
HMI:Datahandlingfordifferentdevicetypes
JSON-basedspecification
AssignmentsAssignments
Ben
DockerSwarm(atleastdocumentation)
VPNkeygeneration
CSVinput:makeplansforimplementation.
Joey
Updatewiki
MakenotesonpyModbus?
Gabe
TweakHMI(interactionwithrelays)
Meeting17Meeting17
2018-02-262018-02-26
Reviewofgoals/tasksReviewofgoals/tasks
PyModbusdocumentation
Makesureweusetheactiveforkoftheproject.
We’lluseonlysynchronousI/O.
VPNiscurrentlyworking.
Virtualrelay:startedonCSVdatainput
DesigndiscussionDesigndiscussion
Networkdiscoverytool
Allowscontainerstoknowaboutothercontainersonthenetwork
Dockerimage?(goodforaconstantlyrunningservice)
StandalonePythonscript?(simplerfora“one-shot”operation)
Probablystartwiththisoption.
Madediagram(seelogbooks)
PreparationforSnapshotDayPreparationforSnapshotDay
Diagrams
Demo(withvideoforbackup)
Updateprojectlearning
Updatetimelinew/detailedlistoftasks
TocompletebeforeExpoTocompletebeforeExpo
Virtualrelaydatainput
Documentation!
HMI
Interactionwithrelays
Automaticconfiguration
HostingatPNNL?
Bridgingtoexternalnetworks?
AssignmentsAssignments
Joey
Networkdiscoverytool
Diagramsforsnapshot
Wikiupdate
Gabe
HMI
Ben
VirtualrelayCSVinput
Portfolioupdates(includingprojectlearning)
Documentation
Meeting18Meeting18
2018-03-052018-03-05
Reviewofgoals/tasksReviewofgoals/tasks
HMI
Communicationwithrelayworks.
StillneedtoconverttouseAJAX.
Relay:CSVinputisworking.
Updateddiagramsandprojectlearning
SnapshotDay(tomorrow!)SnapshotDay(tomorrow!)
Printportfoliopages
MaybeaddaprojectlearningpageaboutFlask.
Demo:workingHMIwitharelay
Updateposterboard
DesigndiscussionDesigndiscussion
DiscussedhowtoinjectcontainerconfigurationfileswithDockervolumes
DiscussedintegrationwithnetworkdiscoverytoolandHMIconfiguration
Goals/tasksGoals/tasks
Ben
Printportfoliopages
PreparedemoforSnapshotDay
Workondocumentation
Gabe
ExpandprojectlearningforFlask
WorkonHMI
Joey
Printdiagrams
Workonnetworkdiscoveryscript
Meeting19Meeting19
2018-03-192018-03-19
Reviewofgoals/tasksReviewofgoals/tasks
Documentation:updated(mostly)
Networkdiscoveryscript:started
DesigndiscussionDesigndiscussion
Networkdiscoveryscript
ProbablynamedevicesafterthehostnamesthatDockergivesthem
MatchcontainersbyDockerservicename
Useclient.services(name).tasks()[n]['NetworksAttachments']togetnetwork
parameters.
AssignmentsAssignments
Joey:networkdiscoveryscript
Gabe:HMI
Ben
Multi-hosttesting
InternalDNSserver?
Meeting20Meeting20
2018-03-262018-03-26
Reviewofgoals/tasksReviewofgoals/tasks
Networkdiscoveryscript(inprogress)
Issuesw/containerdiscoverythroughtheserviceAPI
Willneedawaytoreloadcontainersafterreconfiguration
DockerSwarmmulti-hosttesting
Note:we’llneedtomirrorconfigurationfilesfromthediscoveryscripttotheothernodes!
DNSserver:working(withafewminorhiccups)
HMI:someadditionalfeatures
Automaticrefreshofdevicedisplay
Splitconfigurationfiles
UpcomingeventsUpcomingevents
Wikipagereview(tomorrow@4:00PM)
AssignmentsAssignments
Ben
Helpwithnetworkdiscoveryscript
Figureoutfiledistribution
Polishrelay
Gabe:updateHMIdocumentation
Joey
Updatewikipage
Workonnetworkdiscoveryscript
Meeting21Meeting21
2018-04-022018-04-02
Reviewofgoals/tasksReviewofgoals/tasks
Networkdiscoveryscript
Discussedcurrentissues
Virtualrelay:finishedTODOitems
Clusterfilesharing:usingSSHFS
DesigndiscussionDesigndiscussion
DiscussedhowtoproperlyhandletheneedtohaveDockervolumesatabsolutepaths
Justputstuffin/opt/pnnl_vcsonallnodes.
AssignmentsAssignments
Gabe:HMI
Joey
Setupnextclientmeeting(started)
Networkdiscoveryscript
Ben
SSHFStesting&docs
Networkdiscovery:detectnon-runningtasks.
Meeting22Meeting22
2018-04-122018-04-12
Reviewofgoals/tasksReviewofgoals/tasks
SSHFStesting:done
Discussedpros/consofusingSSHFS
HaveHMIjustreloadconfigoneveryrequest?
Networkdiscoveryscript
Stillneedtodetectnon-runningtasks.
Re-architectfileoutput
GoalsbeforeExpoGoalsbeforeExpo
Poster
Updatesto:
HMI(configreloading)
Discoveryscript
AssignmentsAssignments
Joey
Discoveryscript
Plansketch
Wiki:updatetestingdocs.
Ben
Dockerregistry
Networking
Gabe
HMI&docs
Meeting23Meeting23
2018-04-162018-04-16
Reviewofgoals/tasksReviewofgoals/tasks
Testing:workingonbare-metalDebian
Documentation“holes”:Joeyhasnotedandwillupdate.
Dockerregistry:comingalong
Othertasksfromlastmeeting:stillinprogress
AssignmentsAssignments
Ben
FinishDockerregistry
Startnetworkdocumentation(macvlannetworks,etc.)
Joey
Networkdiscoveryscript:refactoring
Poster
Wikiupdates
Gabe
HMI
Poster
Meeting23Meeting23
2018-04-212018-04-21
Reviewofgoals/tasksReviewofgoals/tasks
“Bare-metal”testing
SomeissueswithHMIimage
Discoveryscript
Progress
Maybeuseservicelabelsinsteadofimagenames.
DockerRegistry
Shouldbeworkinganddocumented
Networkingdocs
Someprogress
ProbablyfinishafterEXPO
Upcominggoals/tasksUpcominggoals/tasks
EXPOpresentation
We’llmeetinthenextcoupleofdays.
OpenPLCtesting
ShouldprobablytestModbusmasterstuffandexpanddocumentation.
AssignmentsAssignments
Ben
GetdemoreadyforEXPO!GetdemoreadyforEXPO!
Ideally,recordavideoincasethingsbreak.
TestOpenPLCwithQModMaster.
Documentationcleanup
Ironoutnetworkbridging(start)
Gabe
Newlogicalstructurediagram
Joey
Draftnewslideshow
All
Preparepresentation
Meeting23Meeting23
2018-05-212018-05-21
FinaltasksbeforeHMIFinaltasksbeforeHMI
All:designreport
Ben
Updatedocs
Networkstuff
Tarfilewithallrepos
Joey
Finalwikiupdates
BurnCD
Discussplanswithleadinstructor
Finalreport
Confirmdeliverables
Gabe
HMIdocumentation
Printdiagramsforportfolio