Jump to content

Search the Community

Showing results for tags 'Modbus'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Our Community
    • Come on in!
  • News and Announcements
    • New! UniLogic V1.24 introduces VFDS from Unitronics!!
    • VisiLogic:9.8.64 - Link to mobile app, Ladder: 2x the Space!
    • New!!! ***** U90 Ladder*****
  • UniStream HMI + PLC Programmable Controllers & UniLogic Software
    • UniStream: Hardware
    • UniLogic Software
    • UniLogic UDFBs
    • Industry 4.0, IioT, MQTT--Looking forward
  • Vision, Samba, Jazz and M90 PLC + HMIs & Software
    • Vision & Samba PLC + HMI Controllers & VisiLogic Software
    • Jazz, M91 PLCs and U90Ladder
  • Software Utilities
    • SD Card Suite
    • Remote Operator
    • Remote Access
    • DataXport and DataXls
    • UniDownloader
    • UniOPC
    • UniDDE
  • Utilities for .net and Visual Studio
    • Unitronics PCOM Protocol
    • COM Object ActiveX .dll
    • .NET driver
  • Project Design
    • ...I have a project...what hardware do I need?
  • User Application Stories
    • Just finished a great project?
  • Tips and Tricks
    • Best Programming Practices
    • Tips and Tricks
  • Job Board
    • Projects seeking Programmers
    • Programmers seeking Projects
  • General Discussion
    • We're Listening...
    • The Lounge
  • News and Announcements Copy

Blogs

  • Unitronics' Blog: PLCs, HMIs and more
  • Saragani's Blog
  • Simon's Blog
  • Ash Neilson's Blog
  • Joe Tauser's Blog
  • Unitronics en Español
  • Powered by AMPS
  • Alldrives UK's Blog
  • Unitronics, Howman Style
  • PLCNewbie's Blog
  • Telestar Automation Blog
  • Webinars Collection
  • Tim's Corner
  • Blog
  • TELESTAR (Italian)
  • i4 Automation
  • i4 Automation (UK)
  • Unistream UDFB's

Categories

  • From Headquarters: Sample Applications
    • From Headquarters: VisiLogic
    • From Unitronics: U90 Ladder applications
  • User-submitted Applications
    • From Users: VisiLogic applications
    • From Users: U90 Applications

Categories

  • Articles
    • Forum Integration
    • Frontpage
  • Pages
  • Miscellaneous
    • Databases
    • Templates
    • Media

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 111 results

  1. Hello, I'm trying to poll some values from Laumas weight transmitter - and I'm kind of stuck. I've tried to read some addresses according to the Laumas manual, but the power-up value in the receiving variable is never overwritten. I get modbus status as -11, which I don't know what means. THe setup: It should be reading all the time if set up as periodic and the active bit is set ? The values when running: Anybody with any hints for me? Thanks, Bjarni
  2. Is it possible to have MODBUS TCP (Ethernet) via the CPU Ethernet? I have two separate networks I'm using. My PLC needs to get data from a DCS via MODBUS on a 172.17.100.xxx network and a computer needs to get the MODBUS data from the Unitronics PLC via a 172.16.100.xxx network. Can I do this or do I need to find another solution?
  3. Dear all, We communicate 10 nodes through rs485 communication in v700 port 1..the problem is if my one divice is failture means other 9 nodes getting delayed..kindly provide solution RegArds Mohamed
  4. Hello, I'm just starting my first project with UniStream/UniLogic and I have the PLC hooked to a PC via Modbus, PLC as Slave. I haven't found a way to sync the clock in PLC with the PC clock. Is there a way to set the PLC clock via the Modbus ? Thanks, Bjarni
  5. Hi I'm new to PLC operations, and I was hoping I could get some help getting started with MODBUS communications. I have a PLC/HMI running UniLogic and Festo CMMO which I am trying to run over MODBUS TCP. I have added the remote slave, and downloaded the program onto the PLC. However, I haven't been able to get any proof of the connection. I have added registers (3 and 17) based on reads to tags (INT16), but they all display as 0. I have also tried displaying the value of slave.sessions, but it also shows 0 which leads me to believe it has not even tried to start the connection yet. I feel like I'm missing some critical first step or debugging process? I would appreciate any help or point in the right direction. I'm using the controller linked below and trying to follow the MODBUS instructions starting on pg 27. https://www.festo.com/net/SupportPortal/Files/425129/CMMO-ST-LK-SY_2015-07a_8043621g1.pdf Cheers Russ
  6. Dear colleagues. I hope you are doing fine. I have 5 power meters in a RS485 bus communicating through Modbus RTU with one Unistream which is acting as master. 3 of them are from the same brand and model. They are all ok, connecting and communicating. The registers are 32 bit length (treated as INT32 in the Unilogic). So far everything is good. For the other 2, from different manufacturer, It seems I am receiving the data in a strange way because the data is not coherent. It seems I am receiving the words or bytes inverted. if I use a external Modbus client in my laptot, I can see the value correctly displayed as a FLOAT32 ABCD and it matches with the actual value (12.3, 24.1, 48.3 volts... etc). In contrast, with the PLC I see gigantic values. I tried to use the swap byte funcions but couldn't get it. I don't know whether there is a way to compose a REAL from two INT... Does anybody ever had similar problems/solutions? I am kind of desperate. Thank you and best regards.
  7. Hi Would like to get some assistance on the following, im using a US5/7-B5-TR22 with a UAC-CX-01RS4 for rs485 comms Im talking to a single UV lamp ballast, I carnt seem to get any comms working, the ballast has LED indicators for when comms in working/ fault and also transmit and receive LED,s, I have got these on once then haven't managed to get them to come back, Im thinking its a software issue as I used some software off the internet "simply Modbus master" and could send commands and receive reply's, I have had this working before with a similar ballast talking re485 using a samba PLC, but the customer wants to transition to unistream, I have attached a copy of a project I have been using to just try get the comms working, and also the document supplied with the ballast, specifying the registers to use 3kW Lamp Driver modbus rev13 100813.pdf Test Ballast project.ulpr
  8. Hello, I just have a small problem, and I keep on asking some simple stuff, because I'm new to Unitronics, and programming PLCs. I have a JZ20-J-UA24, and I want to read from it, and write via labview. This requires a modbus configuration. I looked at the sample modbus configuration on that unitronics supplies with U90 ladder, and some modbus forums on unitronics, but didn't clearly understand what to do next. So suppose I want to read on labview the temperature measured via a KTC connected to the PLC's analog input channel 1 displaying its value at the level of MI 19, how can I do that? And can someone explain the configuration of the PLC because I didn't get alot what's going on, or how even to read the IP of the PLC.
  9. Hi, I'm using a Samba 3.5 with ethernet card to send data to scada system. With test purposes I'm trying to send a discrete input MB 0 in response to the read digital input command (0x02) with the following instruction: But in the test software (Simply Modbus TCP Client) I can't see the value of MB0. Trying to find the answer, I tested sending the MI10 value in response to read holding registers command, but It doesn't work neither. I'm using the modbus TCP initial setup from the examples and the webinars, and I can see the connection in the Samba, but I can't send the data. I don't know if I'm missing something, this is my very first time with Unitronics modbus TCP. I really appreciate any help or suggestion to put me in the right way. Regards
  10. Hi all, I use USC-P-B10 with USP-070-B08 (modular HMI/PLC) as a master via Modbus Ethernet. Could anyone recommend me how to catch an exception in UniLogic 1.26.90 if slave is not responsive (powered down, loose cable...). Thanks
  11. I use a PLC (US5-B10-TR22) and communicate with a smart meter throw MODBUS TCP/IP. The registers of this smart meter store values as 'single'-precision floating-point variables. Throw the UniLogic is not possible read 'single' values and I did not find a way to do this conversion.. How can I solve this issue? Charalambos
  12. Hi all, Would you mind to show me some example how to treat INT16 as a power in W and its scale factor INT16 received via Modbus, please? Should I firstly convert them into Real, then multiply them? Thanks
  13. Does anybody know if Vision controllers (ie V130) support Modbus TCP or do they support the Modbus RTU over TCP implementation. The difference is that the first follows the original Modbus TCP frames (ie no CRC) while the latter encapsulates the serial RTU framing sent over TCP media. Which one is supported by Vision and the other Unitronics controllers?
  14. 1) When editing IO Inputs or Outputs Alias Names directly (from the table view, without going into window for editing single tag) - cold not put a space symbol between words while writing (later when the whole "Input5AbracadabraOpenSesame" is written, you can, of course go back and put spaces in between words finally getting to the "Input 5 Abracadabra Open Sesame"). Problem is not observed while editing in single tag editor window. This is new mis-behavior, which was not observed some versions earlier. 2) In Data Table view - String literals are center-aligned without any obvious reason, which detracts from readability of large tables. For Number literals it makes sense to have them centered within cells, which more likely adds readability rather than destroys it, but it's a different story for the Strings. 2.1) In the same Data Table view - it is unable to directly edit anything without explicitly going into editor window for each cell with double click... That's so tiresome and time consuming for large tables. Exception is direct Paste, which however helps little, if each cell is slightly different. 3) Alarms - ID's could not be freely changed... I see no obvious reason for not allowing to do that because there are gaps still allowed (by deleting some alarms in the middle) and no automatic reordering of ID's is then happening. Of course it does not change much, but adds to the overall order and clarity of the project. Thus why not allow to change them freely, of course, with checking for duplicates. 3.1) Alarms could not be moved around (between groups for example). Took me few weeks to reorder entire system of 100+ Alarms... 4) Ladder function could not be duplicated, like almost anything other could. 5) The XY Plot is wrong type of thing, or at least I need a different flavor (see attached pictures): a) XY_Beijer is the reference - a single clearly visible point of arbitrary size is drawn for each feed in data sampler; the lines referencing these point(s) to the X and Y axes are drawn (switchable on/off); the background where any arbitrary function could be drawn or at least a clear background where any arbitrary picture could be put into (switched during runtime, not statically linked); b) there is always a cause - see the Weather_compensation; c) and a workaround - see the Comfo_Uni which is far from ideal, but at least works, somehow... Why all of this - I was asked to implement Comfomatic (Weather compensation for central heating) functionality as addition to primary functionality. Typically it is done in special hardware like Danfoss ECL series controllers, however the underlying mathematics is rather simple, so why not.... It worked out - making a usable user interface is a major pain on the Unistream platform.... d) of course in ideal world, I'd be asking the Unitronics team to implement the entire functionality in specialized function block, both for GUI as well as for Ladder, however I understand there are so many uses for these PLCs that implementing separate function block for each of them would lead to the same clutter which was seen in VisiLogic series software and which the Unitronics guys were presumably trying to avoid in Unistream. e) and there is always a workaround of the workaround - or better, I call it suggestion 2: The the simple Canvas control could be added to the GUI section - thus allowing users to draw whatever they need to solve such challenging tasks... (or if the screen is already a canvas itself, then at least allow to draw some primitives - dots, lines & rectangles from the Ladder (yes I know there is a Line element in GUI, but it is static, you can not even put a variable as its X1,Y1 and X2, Y2 points... thus it's unusable). 6) Each MODBUS target has the Modbus Remote Slave structure attached. This structure has very useful variable 'Fail' within it. It could be ideally suitable for checking for communication problems, and throwing Alarm to the user if any. But what's next - user cannot clear the alarm, because there is now way to drop it to the zero (I mean, there is no way to write 0 to this structure). Yes, of course there is again a workaround - copy the contents to another variable and then compare to it, not the 0, But why always a workaround? Why not do the things right the firsthand. 7) I'm still begging for ability to reorder members of the struct, like it's done in SMS Message composition with the List Of Text Variable - simple control to move members up and down. It has no meaning while the project is little and simple, but when it becomes large enough, when various functionality is added to different parts all the time, when structs determine what is written to different tables back and forth, then keeping various recent additions together with their primary counterparts rather than at the end of the struct, could be soooo meaningful. At present its a tremendous and very time consuming job to reorder the structs, by renaming and replacing every single appearance everywhere, when it could so easy be made to happen automatically. Not to mention, that is so easy in plain C, just cut one and paste above each other... Many thanks for the product already that great (light years away from said Vision or Samba), but of course, any improvement would be warmly welcome. P.S. Please double-check the communication with Cinterion BGS2T modem - it tends to drop from time to time (worse with USB-COM, better with UAC-01RS2, but still not ideal) and then it's unrepairable till the next complete reboot of the PLC... (re-initialisation has no effect).
  15. I need to read multiple Modbus registers from a non Unitronics controller. These registers are not consecutive registers. What is the best way to do this? Multiple Read Holding Registers (3) one after another? Rung examples of your ideas would be most helpful and appreciated. Thanks!!!
  16. In helping a customer integrate a UniStream into a SCADA system I have come across a curious gap in the available information. I can't see any declaration of the function codes that the external Modbus master must use to communicate with the UniStream as a slave. The Unitronics example and tutorials use a UniStream as the master as well as the slave, which doesn't highlight this issue. I have looked within UniLogic, tried exporting the Modbus registers as excel, looked at the UniLogic help file, watched the Unitronics YouTube video and searched the forum. None of these sources gave the necessary information So far I have gleaned that the following codes are supported on a UniStream modbus slave: Coils Read Coils (function code 1) Write Coils (function code 5) Write Multiple Coils (function code 15) Registers/Words Read Holding Registers (function code 3) Write Single Register (function code 6) Write Multiple Registers (function code 16) But what if the customer's master only supports Read Input Registers (function code 4)? I don't have a firm answer on how we could handle this. Can anyone provide a definitive list? I would like to be able to answer this question with confidence. A standard part of documenting a Modbus Slave is to specify which function codes it supports, so the master can be correctly programmed. Thanks, Simon
  17. Hello: I am having trouble to communicate my V1040 with an existing Schneider Electric M221 with the serial port. It was supposed to be easy, but I don't receive any answer from the M221. V1040 has 2 ports, and I am using port 2. The port has been set up for RS485 with termination with the DIP switches. MODBUS protocol is: Baud rate: 19200 Parity: NONE Stop Bit: 1 wires has been checked and also pinout. My first concern is about the pinout. Schneider requires 3 wires on RS485. It uses D1, D0 and ground, while V1040 only uses A+ (D1) and B- (D0), but no ground as reference. The V1040 is the MASTER and has ID1 and the M221 is setup with SLAVE ID 3, and the only line on this PLC is to set a value on %MW1 with the value of %MW0 A very simple program attached is made to read a Holding Register Addressed 1 (%MW1) and this value should be displayed on the Touchscreen. While reading the execution, the status messages I receive are 4 and 5 only. This means I have no communication. I really need help on this. Please advice. Prueba MODBUS.vlp Prueba MODBUS.smbp
  18. Hi, today in our company we received an ultra filtration system that comes with a V1040 on it. We've never had worked with an unitronics system before and we are trying to communicate the plc via modbus rtu over rs485 to work with our network. We configured the com port of the plc to work with rs485 as it was factory configured to work with rs232 but we can't reach it on our system, it's just showing of offline status. In the ladders we had a special subroutine for modbus, including all the registers and status of the system, we are reaching these points but it doesn't work. I'll attach some screenshots of the COM and modbus configuration and the modbus registers that i'm trying to read and i'll appreciate any help if i'm doing something wrong. Also, if i modify the program i need to upload it all or there is an option to upload only the com configuration without stop the plc? Due to the critic status of the process i only have a few minutes to stop the plc so i'll appreciate any shortcut to work faster on the system. As i said we've never worked with this plc before so we don't know the kind of responses of the system.
  19. Hi! So, I am writing ASP Core 2 project and one of the components is communicating with Unitronics V130 unit (as a Modbus Slave). Since provided .NET Driver library is not portable to ASP Core I need to implement this communication with Modbus. I have limited experience with Modbus protocols but I have used some basic functions in the past – mostly reading Registers and Coils. Just to sample some data. I used python library modbus_tk for this purpose. Using Modbus gives me options for adding more optional hardware down the line. After reviewing some libraries supporting Core I selected library Modbus https://github.com/AndreasAmMueller/Modbus made by AndreasAmMueller, written in C# as Net Standard 2.0 library. I started testing this library by communicating over Modbus TCP/IP with V130 PLC. I got mixed results. - namely "Write Multiple Coils " or "Force Coils " (Function code 15) does not work correctly. So. Modbus read functions all work great, these are: Read Coils (Function code 01) Read Holding Registers (Function code 03) Out of write functions these work great too: Write Multiple Registers (Function code 16) – named “#16 Preset Holding Registers” in VisiLogic help files Write Single Coil (Function code 05) – not referenced in Unitronics (VisiLogic) help files under “Slave Addressing” Write Single Register (Function code 06) - not referenced in Unitronics (VisiLogic) help files under “Slave Addressing” These functions are documented in help files of VisiLogic at “Slave Addressing” topic (where address offsets are defined). Now, function that does not work (at least with V130) is: Write Multiple Coils (Function code 15) – named “#15 Force Coils” in VisiLogic help files This function takes in “n” sequential bit values (“coils”) and a “starting address”. Then it writes these values in slave (in my case V130 device), starting at “start address” and for “n” values. It never sets coils to provided values. But it does set provided coils (addresses) just not to provided values. Meaning, if I want to set 16 coils (lets say some Memory Bits – MB) to 1, only some 8 coils would be set to 1, other 8 coils would be set to 0. It appears that only some byte is set to provided values (but that varies with number of provided addresses/values). Let me repeat again – all provided addresses are written to, just not the values that are provided. Interesting thing is that even if I provide only “true” (1) values, somehow “false” (0) is written to address. AFAIK if I provide only “false” values, no “true” value is written to address. Let’s see what is sent to PLC in next section Modbus implementation on PLC? I suppose Unitronics PLC Modbus implementation is compliant to Modbus specifications and implementation guides, defined by http://www.modbus.org/specs.php (I don’t know, but I would hope). As such Modbus TCP/IP ADU (Application Data Unit) should be implemented as defined in http://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0a.pdf and Modbus PDU (Protocol Data Unit) as defined in http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf. This is nicely presented in image bellow – Modbus ADU (MBAP Header + MODBUS request). Here request is made for reading register #5 in remote server (page 22/46 from Application Protocol document): There are 6 bytes of MBAP Header, followed by “length – 1” bytes of MODBUS request (we must subtract 1 byte for Unit identifier, which is included in “length”). In example above there are 5 bytes of Modbus request that makes “length” equal 6. Function “Write Multiple Coils (code 15)” Modbus request is defined in Messaging Implementation Guide at page 29/50: This block is inserted at MOBUS request field in Modbus ADU, presented above. It takes 1 byte to describe the function code, 2 bytes for starting address, 2 bytes for quantities of values (number of “coils” we want to write), 1 byte for number of bytes and finally N Bytes for associated values. Simple test For simple test I am going to use function “Write Multiple Coils (code 15)”, writing 16 (2 bytes in length) “true” (1) values, starting at address 1200, which means Memory Bit (MB) #1200. Device ID is 1. This is Modbus request ADU, which is sent to PLC: It appears that the implementation of Modbus in NET Standard 2.0 library is compliant to Modbus specifications and implementation guides, defined by modbus.org. There is correct MBAP Header and MODBUS request. It provides correct address (1200), number of coils (16) and correct values of coils, which is “true” 1 for all, thus 2 bytes with value of 255. But the result of this operation yields, starting at correct address of 1200: 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0. We were hoping for all 1. I doubt its wrong implementation in the library, I have checked many requests against specifications from modbus.org and all seem to comply. Ofc the working functions (Read Coils) etc. all comply to modbus.org specifications and yield correct results. Only “Write Multiple Coils (code 15)” function yields wrong results and is there any chance that its not implemented according to modbus.org? Solution/hack that seems to work I found one hack that seems to work (at least with V130 PLC). But I wouldn’t recommend to use it until there is conformation that this hack does not cause some unwanted consequences. Here goes, it appears that appending one (dummy) byte (of arbitrary value) before bytes that represents values (in the above case [12] and [13] bytes) somehow causes the function to work and we can update Length byte [5]. But it seems that updating Length does not have any effect, it works regardless (need to test that more rigorously). New (working) request would look like this, with added dummy byte: As you can see there is added dummy byte at [12] and length updated to 9. Result of this operation yields correct state - all 16 coils MBs are set correctly. This seems to works with any combination of values and number of coils. But this hack is untested, I don’t know if this command is really contained to just defined addresses or does it write all over the memory. I tested this only for some addresses beyond defined range by manually setting values via VisiLogic “online mode". More importantly, why does this hack work? Or even more, why “normal” Write Multiple Coils (code 15) does not work? Is this V130 specific? Any help appreciated! Best Regards! PS: To add, I did change "MODBUS: SCAN_EX" block to SCAN and SCAN_32 - nothing worked. Now I left it with "MODBUS: SCAN" block to support "older working applications" as stated in help files of VisiLogic.
  20. Hi All, I'm using the UniStream as a slave connected by Modbus TCP. Is there a way to know/check the forwarded data, by the Master, byte to byte? thanks
  21. Good morning everyone! We are about to begin work on a Modbus deployment that will need far more than just the 255 addresses available on the built in CPU master. I know we can add up to three of the UAC-02RSC UniComm modules for three more masters. Unfortunately, the masters on the 02RSC have a limit of 512 operations each, so we’re going to need all three modules and then some. I’m interested in using the serial port on the top of those modules as well. Unilogic and the built-in help file shows that we can turn them into Modbus masters, but we’re not having any success getting it to communicate with our sensors and devices. We’re using a small header-to-terminal block plug to give us access to pins two and three (TX and RX) but I’m not sure that’s correct for what we’re doing here. Thank you in advance for any help you can give us on the serial connection!
  22. I want to buy and use an Unistream PLC. I am trying to read the specs for an {Unistream 7" HMI PANEL (USP-070-B10) + Unistream CPU FOR PANEL (USC-P-B10)}, but I can not find that this this system supports Modbus TCP/IP and Modbus RTU.? Can anyone answer this question and tell me which datasheet shows this information. Thanks!
  23. Hello. I am forced to ask you for help, as I spent a lot of time trying to solve this problem on my own. I just can’t connect PLC V350 Vision with OPS server UNIOPS + SCADA. By TSP IP I managed with great difficulty to establish a connection with this controller (nowhere did I find an intelligible, complete description of the connection), but now this is not about it. I tried various options, but nothing works. I enclose screenshots for clarity, can someone tell me what else I need to do in order for the VISION PLC 350 to see the OPS server. I would be grateful for any help. Thanks. . The original RS232 cable, 100% working!
  24. Good day All Im wondering if someone will be able to assist me with the following. we have a few in house built machinery that runs off Arduino Controllers. We needing to link it up to a Unistream HMI to Display the Data. I know it can be done via Modbus. Im just needing some help with the initial Modbus from Arduino to Unistream setup Please Assist where you can
  25. I have a problem, when a slave is disconnected (without opening the trunk network) all other slaves lose the communication of the master. Does anyone have the method or solution of how to do it?
×
×
  • Create New...