Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [4diac-dev] Timeliterals in Lua

Ofc :)

Cheers,
Jan
 
Gesendet: Freitag, 12. Juli 2019 um 17:10 Uhr
Von: "Alois Zoitl" <alois.zoitl@xxxxxx>
An: "4diac developer discussions" <4diac-dev@xxxxxxxxxxx>
Betreff: Re: [4diac-dev] Timeliterals in Lua
On Fri, 2019-07-12 at 14:43 +0000, Martin Melik-Merkumians wrote:
> Hi,
>
> so if I understand you correct, then the LUA part will be functional independent from the rest of FORTE. So in principle LUA can calculate all the way in nanoseconds, and when a FORTE conformant value is needed, it could be either converted back to a literal string and loaded into the TIME via formString, or we can use the publich member function setFromNanoseconds

No not really. It would just call IEC 61131-3 functions to reduce correctly handle the literals. I only thought to have an easy and correct way for the
generator which results in minimal lua overhead. But maybe I'm thinking to much in the C world and know not enough from lua.


the goal of my suggestion was that at all places a time literal is correctly handled. I'm not sure if wrapping the classes is the right solution. Because this
strongly depends how the IEC datatypes are currently handled.

I also think that as our discussion progresses it will not work out in the mailing list. Can we schedule a skype meeting with all three of us?

Alois


>
> Best,
> Martin
>
> -----Ursprüngliche Nachricht-----
> Von: 4diac-dev-bounces@xxxxxxxxxxx <4diac-dev-bounces@xxxxxxxxxxx> Im Auftrag von Alois Zoitl
> Gesendet: Freitag, 12. Juli 2019 16:34
> An: 4diac-dev@xxxxxxxxxxx
> Betreff: Re: [4diac-dev] Timeliterals in Lua
>
> Hi,
>
> On Fri, 2019-07-12 at 16:09 +0200, Jan Holzweber wrote:
> > I also do not understand why we would need this function, as the time value is then just an integer. There is a time representation in Lua, but i would not use it for just the timespan, because it also always needs a day/month/year. For the timespan i would have just used a number variable.
>
> The problem how see is the following. Lets take a simple ST example
>
> VAR
> buf : TIME;
> END_VAR;
>
> ...(*some if or so here*)
> buf := T23s5ms;
>
>
> what code should be generated. Taken your discussion from above it would be the best if the Lua code generator would take the time literal and calculate an integer in ns out if it. But the lua code can not be:
>
> buf = 23005000000;
>
> because the value stored in TIME in forte depends on the configuration of FORTE's time base. So for the code generator it would be the easist if we could generate lua code which is equivalent to:
>
> buf = LINT_TO_TIME_NS(23005000000); //or what ever function name is apprriate here
>
> which would call the approriate ST function. Similar to the function Martin has already developed for the oposite direction. This would ensure at the one hand that the time base is adhered and that the code generator has a simple rule.
>
> Am I missing something?
>
>
> Cheers,
> Alois
>
>
> > Cheers,
> > Jan
> >
> > Gesendet: Freitag, 12. Juli 2019 um 16:05 Uhr
> > Von: "Martin Melik-Merkumians" <Melik-Merkumians@xxxxxxxxxxxxxxxxx>
> > An: "alois.zoitl@xxxxxx" <alois.zoitl@xxxxxx>, "4diac developer
> > discussions" <4diac-dev@xxxxxxxxxxx>
> > Betreff: Re: [4diac-dev] Timeliterals in Lua I am not sure what this
> > function should do you propose. If TIME and the Lua representation will save the time value in nanoseconds, the value should be simply copy-able? Or do I miss some detail?
> >
> > Thinking about it, will there be even a separate Lua representation? As far as I remember reading about Lua interpreters, the TIME datatype should be accessible and somehow useable via Lua anyhow?
> >
> > Best,
> > Martin
> >
> > -----Ursprüngliche Nachricht-----
> > Von: 4diac-dev-bounces@xxxxxxxxxxx <4diac-dev-bounces@xxxxxxxxxxx> Im
> > Auftrag von Alois Zoitl
> > Gesendet: Freitag, 12. Juli 2019 15:58
> > An: 4diac-dev@xxxxxxxxxxx
> > Betreff: Re: [4diac-dev] Timeliterals in Lua
> >
> >
> > > we have a similar discussion currently running in
> > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=549172
> > > I would suggest for ease of use and consistency to save all TIMEs in nanosecond resolution. Interactions between LUA and C code will be than easiest to implement.
> >
> > I was not sure about it but find it a good idea. However to make code generation easier and also more consistent / independent from FORTE configurations I think would should provide a function like LINT_TO_TIME_IN_NS which can then be uitlized by Jan.
> >
> > What do you think?
> >
> > Cheers,
> > Alois
> >
> >
> > > Best
> > > Martin
> > >
> > > Von: 4diac-dev-bounces@xxxxxxxxxxx <4diac-dev-bounces@xxxxxxxxxxx>
> > > Im Auftrag von Jan Holzweber
> > > Gesendet: Freitag, 12. Juli 2019 14:11
> > > An: 4diac-dev@xxxxxxxxxxx
> > > Betreff: [4diac-dev] Timeliterals in Lua
> > >
> > > Hello All!
> > >
> > > I have a question regarding time and in which unit we should convert time literals from structured text into lua variables.
> > > I already talked with Alois about this. He said in CPP he would do somethink like: CIEC_TIME().fromNanoSeconds(60E9). Should we aim to convert all times also into nanoseconds in Lua or should we do a different approach?
> > >
> > > Cheers,
> > > Jan
> > >
> > > _______________________________________________
> > > 4diac-dev mailing list
> > > 4diac-dev@xxxxxxxxxxx
> > > To change your delivery options, retrieve your password, or
> > > unsubscribe from this list, visit
> > > https://www.eclipse.org/mailman/listinfo/4diac-dev
> >
> > _______________________________________________
> > 4diac-dev mailing list
> > 4diac-dev@xxxxxxxxxxx
> > To change your delivery options, retrieve your password, or
> > unsubscribe from this list, visit
> > https://www.eclipse.org/mailman/listinfo/4diac-dev
> > _______________________________________________
> > 4diac-dev mailing list
> > 4diac-dev@xxxxxxxxxxx
> > To change your delivery options, retrieve your password, or
> > unsubscribe from this list, visit
> > https://www.eclipse.org/mailman/listinfo/4diac-dev
> > _______________________________________________
> > 4diac-dev mailing list
> > 4diac-dev@xxxxxxxxxxx
> > To change your delivery options, retrieve your password, or
> > unsubscribe from this list, visit
> > https://www.eclipse.org/mailman/listinfo/4diac-dev
>
> _______________________________________________
> 4diac-dev mailing list
> 4diac-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/4diac-dev

_______________________________________________
4diac-dev mailing list
4diac-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/4diac-dev

Back to the top