Hi Matthias,

Well my colleagues used such a simulated OPC-UA PLC. 

And the thing is we don't really need a real PLC with RT Cycles and such ... we 
want something a PLC4X learning person can use instead of a PLC.

The thing is with these you would only be able to do one little part of PLC4X 
learning.
With the Simulated PLC (Or Mock PLC) I think we'll be able to provide dedicated 
simulation modules and real training for different types of PLCs and protocol.

Also it's a great test for the old and new drivers. At least I found one big 
(potential) problem in the old S7 driver and quite a bit of fine-tuning of the 
new ones.

The end result should be something simple to start as "java -jar 
plc-simulator.jar" and off you go ... 
now just connect to localhost using whatever protocol you like and start 
playing and comparing.

With all the others you would probably have to sort of also provide some sort 
of program but they would always just use one or max two protocols.

Chris



Am 16.10.19, 17:38 schrieb "Strljic, Matthias Milan" 
<matthias.strl...@isw.uni-stuttgart.de>:

    Hi Chris,
    
    sry for joining so late.
    
    What speeks against a OPC UA Server as PLC-Mok. It is not a big deal to 
implement it with Milo and provides a function complete OPC UA Server 
implementation.
    
    I Know it is not a real PLC and has no RT Cycles which restricts  the 
possible communication.
    But I do not know if such a technical deep simulation is the right thing 
for the IT-guys and for the OT guys there is in my opinion no gain without pain 
😃
    For that I would agree with @Lukas Ott and rather cooperate with some 
existing solutions and add there a nice setup/starter guide which can also be 
used by the IT beginners?
    
    Gereetings
    Matthias Strljic, M.Sc.
    
    Universität Stuttgart
    Institut für Steuerungstechnik der Werkzeugmaschinen und 
Fertigungseinrichtungen (ISW)
    
    Seidenstraße 36
    70174 Stuttgart
    GERMANY
    
    Tel: +49 711 685-84530
    Fax: +49 711 685-74530
    
    E-Mail: matthias.strl...@isw.uni-stuttgart.de
    Web: http://www.isw.uni-stuttgart.de
    
    -----Ursprüngliche Nachricht-----
    Von: Christofer Dutz <christofer.d...@c-ware.de> 
    Gesendet: Wednesday, October 16, 2019 9:38 AM
    An: dev@plc4x.apache.org
    Betreff: Re: [PLC-Simulator] Thoughts on the "Context" for our simulator
    
    Hi Lukas,
    
    my colleagues here at codecentric recently did some searching for simulated 
PLCs. 
    They were writing a blog post about the PLC4X Logstash integration and 
needed something to produce test-data.
    
    To make it short: They were very unhappy with what they found. In the end I 
think they used some opc-ua simulator.
    For some you needed to actually write projects for the PLC with for example 
TIA as they simulate being a real PLC ;-) Most of them simulate being PLCs but 
lack the communication options (Most of them only support Modbus and OPC-UA) If 
I look at the open-plc thingy you reference ... that is good to learn to 
program PLCs. The editor looks as if you could learn this  (from a IT 
developer's point of view) little strange way of writing programs for PLCs.
    From the documentation it only supports Modbus.
    
    We want to build something to help learn writing PLC4X software, not to 
write software running on PLCs ... 
    especially to learn writing software for the different protocols PLC4X 
supports.
    
    Perhaps "PLC simulator" is sort of a bad name as we wouldn't even try 
simulate being a real PLC. 
    It's more intended to be a mock PLC for training purposes. 
    
    So I was hoping to have multiple protocol servers running on multiple fixed 
simulations and writing how-tos and perhaps even videos and Trainings on how to 
use PLC4X based on these very fixed scenarios but using varying protocols.
    I think this is what I currently hear most as being the missing piece of 
getting started with PLC4X.
    
    And I found out that it's a mega-awesome testcase for our generated drivers 
:-) Being able to use the old hand written drivers to communicate with the 
generated servers already helped with getting the generated s7 driver into shape
    
    Chris
    
    
    
    Am 16.10.19, 08:16 schrieb "Lukas Ott" <ott.lukas...@gmail.com>:
    
        Hi all,
        
        That would fit to https://www.openplcproject.com/ as the Runtime is 
using
        MODBUS....
        
        Maybe ask https://github.com/thiagoralves if we just could with his
        https://www.openplcproject.com/plcopen-editor ?
        
        The major question is it easier to collaborate and leverage the 
project? or
        check the relevant licences and work together?
        
        Lukas
        
        
        Am Mi., 16. Okt. 2019 um 07:46 Uhr schrieb Christofer Dutz <
        christofer.d...@c-ware.de>:
        
        > Hi Cesar,
        >
        > No they wouldn't. They would be exposed to the server implementation 
and
        > the ui.
        >
        > The thing is that the above structure s7 could probably automatically
        > translate into s7 addresses. However for Modbus an explicit mapping is
        > required (sort of mirroring reality with real plcs).
        >
        > I was thinking that perhaps the server/protocol would provide the 
means to
        > map the context into their address space (extra editor) and that the 
ui for
        > displaying the current context values, could have a column per 
installed
        > server, with plc4x addresses for addressing these resources.
        >
        > Just me brainstorming....
        >
        > Chris
        >
        > Holen Sie sich Outlook für Android<https://aka.ms/ghei36>
        >
        > ________________________________
        > From: Cesar Garcia <cesar.gar...@ceos.com.ve>
        > Sent: Wednesday, October 16, 2019 4:44:30 AM
        > To: Apache PLC4X <dev@plc4x.apache.org>
        > Subject: Re: [PLC-Simulator] Thoughts on the "Context" for our 
simulator
        >
        > Hi Christofer,
        >
        > How would these data structures be exposed to the user? An API? Or a
        > service?
        >
        > A simple way to see it would be to have the PLC data structures (DB, 
PEW,
        > M, etc.) as instances of ByteBuf from the Netty library.
        >
        > Best regards,
        >
        > El mar., 15 oct. 2019 a las 8:55, Christofer Dutz (<
        > christofer.d...@c-ware.de>) escribió:
        >
        > > Hi all,
        > >
        > > While implementing the S7Server part I noticed that my HelloPlc4x 
config
        > > is always set to get the values of the inputs and the outputs and 
not the
        > > internal memory of the S7
        > >
        > > So this got me thinking … just having a Map<String, Object> as 
context
        > > might not be enough to really play around.
        > >
        > > For a S7 I would assume a context should be:
        > >
        > >   *   Map<String, Object> (Sorted map with an explicit order such 
as a
        > > TreeMap)
        > >   *   List<Input<Boolean>> (Digital Inputs)
        > >   *   List<Input<Long>> (Analog Inputs)
        > >   *   List<Output<Boolean>> (Digital Outputs)
        > >   *   List<Output<Long>> (Analog Outputs)
        > >
        > > Should this be enough for a somewhat realistic simulation?
        > >
        > > I know for Modbus there is not automatic mapping of any form of 
context &
        > > IO to the Modbus Coils (Boolean) and Registers (Short)
        > > But for the rest I do think that a PLC has the concept of an input 
and
        > > output and these in flavors: Analog and Digital.
        > >
        > > I know that my PLC knowledge is somewhat theoretical. You guys at 
least
        > > some of you work with them every day. So I would appreciate your 
input.
        > >
        > > Chris
        > >
        >
        >
        > --
        > *CEOS Automatización, C.A.*
        > *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,*
        > *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,*
        >
        > *FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI*
        > *Ing. César García*
        > *Cel: 0416-681.03.99*
        >
        > *Cel: 0414-760.98.95*
        >
        > *Hotline Técnica SIEMENS: 0800 1005080*
        >
        > *Email: support.aan.automat...@siemens.com
        > <support.aan.automat...@siemens.com>*
        >
        
    
    

Reply via email to