Jump to content

Fernando Castro

Members
  • Posts

    264
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by Fernando Castro

  1. just to clarify, on this screenshot rung 2 its continuously counting... I believe that you intended to count only if FirstScanBit changes from false to true. In that case the correct logic is to use a positive transition contact: ------|p|--------[Add]-----
  2. Let me know if it works, I have asked chat GPT for some stuff, but I don't really trust its results. at least as something that I could copy/paste and it work at the first try but if you know what you are doing then yes, with some tweaks you could make it work. btw Ising Node-Red it should look like something like this: the buffer-parser node just in case that you need to swap bytes or something like that. The beauty of Node-Red is that runs in the background, and you access thru a web interface.
  3. I am pretty sure that there are already solutions for this, but the short answer is YES, there are Modbus libraries for pretty much anything. also, which will be the end destination of the data? if it is only for data collection purposes, dumping everything into a database could be a good approach I suggest using Influx DB/Telegraf (Its free and open source self-hosted, or you could pay and use the cloud): Modbus Master Monitoring | Influx Data you could install a Telegraf client on each machine and configure the output plugin to dump the data into a single database. other solution, could be use Node-red + the Modbus nodes, you could create a virtual Master to read from the physical slaves, then send the data over Modbus TCP to the real Master: Node-RED (nodered.org). Also, open source and easier since is No code" interface". The only caveat using either of those suggestions is that you need to have the software running as services on starting in each computer.
  4. Honestly it best resource is the documentation of each brand, the functions and its implementation in each PLC are different between brands. the most "universal" is any book related to digital logic / signals (bit, bytes, logic gates etc..). followed by pure electric circuitry (open/close contacts coils). at the end ladder logic is just mimicking an electric circuit, and most functions are pure digital logic. that is the only common thing between brands. Having said that, any programming language will be vastly different from ladder logic (which is the most "universal thing on PLC languages), so the thinking approach cannot be the same. Best advice I can give is: Assume everything happens in parallel at the same time (even that there is a time between scans) any "async logic" that you need must be designed by you. the main difference between PLCs and micro controllers is that on a machine a sensor could be triggered at any time, there could be loose connections, dirty sensors and other stuff that could trigger bits ON/OFF in an unexpected way.
  5. just to add to Joe's response, there is a SWAP BYTES function on visilogic that also help on rearranging bytes. the best way to work with this, is using known values so you can see what hexadecimal numbers are and since you know what to expect, you can easily spot the correct order.
  6. Seems that my assumption was correct. I just tested using struct function to copy the value stored on a MF to 2 MIs and I got the expected hex values.... you can do it in reverse to build the float number.
  7. I have found issues like this. have you in a previous program used an alarm and then deleted it?. I found that if you delete the alarm group without reassigning the MIs/MBs first those registers get stuck with the previous assigned values, even using the search function won't find that operand being used somewhere else.
  8. I think floats on visilogic already are expressed using IEE-754 standard couldn't find anything in the documentation. However, I need to communicate with a slave device precisely sending IEEE-754 floats over Modbus-TCP IP. I should be testing that in the following weeks (Need to finish some other stuff first).
  9. According to IAI EtherNet/IP PCON ACON Controllers - IAI America (intelligentactuator.com) that is specifically designed to use ETHERNET- IP which is proprietary AB protocol. having said that you could: a) replace the controller. b) get another PLC with Ethernet-IP protocol. c) get an Ethernet-IP to Modbus TCP converter. all of those 3 options will probably cost about the same.
  10. Do you have the VFD model? its odd to me that it has an USB port, I haven't seen any RS4-85 port using USB (I may be wrong), but I have seen RS485-To USB converters embedded (Like Unitronics do with the serial port and mini USB, which is the same com port). If its RS485 you just need 2 wires (and Ground). check that the hardware configuration on the PLC is set to RS-485.
  11. I tested OPC Expert with Unitronics and it worked (the evaluation license at least) OPC Expert also allows you to "bridge" Unitronics OPC Server to other protocols like OPC UA. Wich could be what you need if you already have any other OPC client of your preference running. I tested that like 2 years ago. but at the end I ended using Modbus TCP/IP and to directly communicate to the PLCs, so no OPC server needed with this architecture.
  12. I have NO experience on elevators. having said that I don't think it is challenging application by the technical aspects of it. Maybe I am wrong, I assume that it requires specific safety components and of course there should be some specific compliance related to that, and that is why usually the price is high. Usually, safetey related components needs to meet some test criteria and, sure you can do safety circuits without safety components, but you need to design redundancies and know all the MTTF values... I think this is the kind of projects that any experienced controls engineer will not take if it is not under his area of expertise also for the liability... once a more experienced collage told me. "The company the quotes the higher, with the longest delivery time, and that seems that they don't even want to take the project is the one that actually knows how to do the job". Not always the case, but I bet you this time it is.
  13. I have a similar application (up to 8 analog signals, and recipe-based control with ramping functions) the recipe side will require some clever codding depending on the length of it because you will be limited by the number of objects that you can fit in one single screen. I developed the same software for 2 vision series PLC: v700 & v570 at the beginning I thought v700 was more modern but now I prefer v570. I have no idea on prices because the hardware already existed whenever I took the role but, in my opinion, v570 is way better than v700 given the following scenario: v700 is bigger yes, but the keyboard is actually smaller than the v570. If you are going to use SD cards to store logs, trends and recipes. the SD card screen function is not properly implemented on the v700 it looks very tiny. The only reason I recommend the v700 is if you are going to use more than 4 ethernet connections at the same time. I will say that 1 socket for file transfer (SD card explorer), 1 for remote operator, 1 to send all process variables to a centralized location and an extra one for any other feature is more than enough for most scenarios. Also, I think that on v570 the ethernet card is an add on that needs to be purchased apart.
  14. Probably that only happens on your installation. that doesn't happen on mine for sure... but if it makes you feel better there are some other errors on my computer 😂, particularly debugging one specific routine in one specific program on which I cannot be more than 10 minutes on online mode before it crashes, I always assumed is related to some variable being overflown (the sub in question handles the communication to other devices and there are some DWs in there that eventually reach their limit).
  15. the protocol works pretty much the same over TCP/IP or serial the main point to understand in the protocol is that Modbus works with memory registers and that there is a table and "register codes" depending on the type of each variable. also, some devices start counting from 0 others from 1 so it depends really on the implementation of the protocol on each device, for example in the Unitronics documentation there is a "formula" on how to calculate the Modbus addressess based on the type of operand. Wich, I think is different based if its "Enhanced" version or "standard" version. having said that, that doesn't mean anything without understanding how the Modbus addresses works.
  16. The precision is lost because its a 32-bit floating number... there is a formula on how the numbers are "encoded" you technically could use 2 32-bit operands to work with 64-bit floats but that will require to do all the math to "encode" and decode the numbers. this site has some useful information about that: IEEE-754 Reference Material (cuny.edu) but you can google the formulas on how to operate on float 32 or float 64. I don't really know your process but sure it should be a workaround instead of doing all with floating numbers. I have seen some other approaches like storing all as integers and using a decimal position on a different operand or having an operand per "decimal place". In any case I agree with the collages that maybe the PLC or at least this PLC is not the best tool for the job. I am sure that there are 64bit ones.
  17. Depende, yo solo e usado V700 y V570 y en ambos puedes usar ethernet para programar... pero si y solo si el socket ha sido iniciado y configurado para comunicarse previamente. poer lo que si es un PLC en blanco, primero tienes que crear un proyecto habilitar la comunicación por ethernet descargarlo por el puerto serial, y ya una vez inicializado vas a poder programarlo por ethernet siempre y cuanto tengas el mismo nombre dirección IP del PLC
  18. it uses SB because yo just need to run it once at the beginning, there are some notes about that on the documentation.. I would start reading, reading the documentation regarding the Modbus protocol in general.
  19. I can confirm that Gabriel franco 's first link solves the issue when trying to do a clean reinstall of the software.
  20. I think that once you have the code the activation park is done in visilogic on the part that says activate software license or something like that... I don't remember and since I already was able to activate it, I can no longer see that menu option.
  21. You don't need to do conversions; logic functions are not intended to be used on BOOLEAN values those functions are for INTEGER values. in the ladder logic you already are working with logic functions already. AND: -----| |---| | ------( ) OR: ---| |----.----------( ) ---| |----'
  22. Just like that, make sure that on you HMI you have selected the same timer and Preset or Elapsed: Also, you can load a timer Preset to a ML and then the ML Back to another timer... this is useful to do operations over times such as subtract the elapsed time from the new loaded preset time.
  23. is the. exe and it's that form, you complete the information, and it is going to throw a short code XXXXX-XXXXX (10 digits) which is the one that you need to send to Unitronics support so they can give you the activation code.
  24. Trust me on this one .... you never know, better to be safe than sorry. seriously there is a non-zero chance that something will be messed up on a new download.
  25. PLC basics... PLCS don't like decimals (floating numbers) well it's more like floating numbers require more memory to handle and even that there are functions to properly work with them, most of the time it's just way mor easier to shift some zeroes and work with 26 to 1600 instead of 0.26 to 16.00 and just place the decimal point in the hundreds place on the HMI where a human will be reading the number.
×
×
  • Create New...