Jump to content

ORSO2001

Privileged Member
  • Posts

    313
  • Joined

  • Last visited

  • Days Won

    13

ORSO2001 last won the day on July 6

ORSO2001 had the most liked content!

About ORSO2001

  • Birthday 10/21/1975

Profile Information

  • Gender
    Male

Contact Methods

  • Skype
    abertoldo.piovan

Recent Profile Visitors

5,004 profile views

ORSO2001's Achievements

UniGuru

UniGuru (4/4)

22

Reputation

  1. Hi JonathanS, i think that you can "encrypt" the password string...you can store the password in a buffer...than manage the buffer with the "encryption" ...store again the buffer in a string and save this in the table...at the end, to log in, insert the normal password, that will "encrypted" later then check if the string is present in the table...so...if someone will have access at the table in someway will have something that has to "decode" ...I think that this should be reasonabile if the needs is just "no human readable" string.
  2. Hi Kvlada, if the values that must be retained don't change really fast you can consider to save it in a file...so...you can upload the info from the file at each boot of the system...this means that an SD must be present but this will also guarantee that all info will be recover and a new PLC could run really quickly in case of replacement.
  3. hi Flex, until release 1.33.xxx included you can run just one istance of UNILOGIC...starting from 1.34.xxx you can run unitl 3 session. so this "error window" appear when you try to run an istance more than the possible.
  4. Hi all thanks for answer...ya maybe my "request" is not so clear...i try again...so...I am creating a replacement of a contro card; the original card can exchange data with SVS/external controller by modbus rtu; so for example has registers from adress "0" to adress "1000"; some of theser registers return the value of "process temperature", "process step", "alarms" etc...some of these return (read only) how the RS485 port is set up (ID, baud rate, parity)...in the unilogic when I create a modbus Slave istance a struct is automatically created in the global tags...in this struct i have the ID of the slave but nothing about baud rate, parity, bit format, stop bit....what tags, available for the ladder, have these info in the unilogic? i don't need these to configure the rs485 port (i know how to do) but I need these to fill modbus register and made these info available. honestly I don't know if these modbus register will be really requested/used from third party externa control (SVS etc) but these are available in the exchange data document...so I have to implement...obviously I can set a static value but this means that I will exchange "fake" data. hope that is more cleare.
  5. hi, I have to create a replacement of a control card; this card exchange data by modbus rtu (RS485); some of the registers are about SERIAL COM set up (baud rate, ID, parity etc)...I know how to have the ID...but how to have the others values in the Unilogic? thanks
  6. i did a test....i created a table of 20.000 rows; in each rows are present 10 tags of uint32 so at the end 800.000 bytes (39% of non retained memory!) to store and read; each store and read (full data table) need between 1.7/2.0 seconds...
  7. hi @mm440 i don't know what are the specification of your project, and mostly the size of your data table, but maybe you can solve your problem modifying the "strategy"...i mean...what is the frequency of the data table update? if it is in a reasonable timing you can think about use a data table with not retained memory and save/upload it from the SD (without CSV and zip files).
  8. hi @Fagus do you already check the RTC battery?
  9. hi kvlada, did you check the examples where the "num to string" UDFB is?
  10. Hi @Joa attached a short video about the PID that I am using in the project that I am doing...the CV is used to manage a timer to ON/OFF a digital output...the PV is emulated increasing/decreasing a variable referred at the status of this DO. The autotune BIT is "0" because I did it before...stored that vale in a DTI...save to a file..so every time that i energize the PLC it is uploaded and th ePID can run ok without a new autotune. howevere I tried to immediately run the PID after the autotune and it works in the same ways as in the video. also I tried to replicate what you show...I think...and it works... so...one question is...how are the "control value derivative" and the "integral error" at the bottom of PID Config struct (missing in your picture)? PID.mp4
  11. ciao @altijdsoldaat maybe I am misunderstoonding your question but in the UNILOGIC IDE all variables are tagged by "name" and not by "memory block"...both for global (retained or not) and local variables; so you can create a variable called "myVariable" and call this in every place of the project...also for array or struct...
  12. hi @TANKEDUP99 take a look at THIS thread...i shared an example about how to use "millis counter"; if you need more precision i think you have to point to use also interrupts rutine.
  13. hi @e janssens i don't know what -6 means...could you share the function where you try to read data from DTI and sampling it? here attached a really simple example about what I meant in my previously post... sampler-XYtrend example.ulpr
  14. hi @russedwards error code 3 means "illegal data value"...description from the web: A value contained in the query data field is not an allowable value for the slave. This indicates a fault in the structure of remainder of a complex request, such as that the implied length is incorrect. It specifically does NOT mean that a data item submitted for storage in a register has a value outside the expectation of the application program, since the MODBUS protocol is unaware of the significance of any particular value of any particular register. so...when you read the register what you have as value ?...did you try send exactly the same value to check if it is valid?
  15. hi @russedwards what error code return the modbus master struct?
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.