Search the Community

Showing results for tags 'modbus-rtu easy master function'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 312 results

  1. Please assist me with the following; regarding the ME96SSHA-MB Power meter data transition with Melsec-Q series PLC; We acquire to read various values on dedicated Modbus storage address registers at the simultaneous into a Melsec-Q series PLC via Modbus (TCP or RTU)  for calculation purposes. Naturally, since the reading of these variables are to provide accurate instantaneous results, it is a requirement that these values are to be read at one scan.   However, as can be seen below, there is a gap in address register range – of which, if all of these are scanned simultaneously, yields an exception error when read. This error is only avoided by scanning these data sets separately – which is not ideal for our application – since accuracy in calculations is imperative.
  2. i am using a VSD Altivar71 and controlling it through serial MODBUS communication, the probllem is sometimes after stoping the motor the drives gives the "nst" fault which means according to the programming catalouge "freewheel stop" it doesn't do that all the time but it happens a lot and after uploading the code again to plc the problem is gone for a while before it happens again. i am sure that the fault is happening because if communication because when i controll the drive from hmi it never gives that fault, i checked the setting and tried different cables but it still gives "nst" and motor never moves, i found that in catalouge but i am not sure how to address the problem.
  3. Hi ! I have to Control and Read an Masss Flow Controller (MFC) MKS MF-1, I have give this one an IP Adress (10.46.103.75). How can I Control it over Modbus TCP? I found in GX Works 3 in Tool/Predifined Protocol Support function the Modbus Menue, but i have no Idea how to Config it, i have no Idea how Modbus works..... Have someone an Example for a Configuration? 
  4. Please find listed below the NModbus4 console code.  The DataStoreWrittenTo event is not firing when I do the write to PLC C0 relay coil.  Can anyone tell me how to get the event to fire?  using Modbus.Data; using Modbus.Device; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks; namespace NModbus4ListenerDemo { class Program { #region "Properties" static TcpClient tcpClient = new TcpClient(); static ModbusIpMaster PLCModbusMaster = ModbusIpMaster.CreateIp(tcpClient); static string C0_RelayCoil_Address = "3073"; static ushort C0_RelayCoil_BitAddress = Convert.ToUInt16(Convert.ToInt16(C0_RelayCoil_Address) - 1); #endregion #region "Setup Listener" static IPAddress MiddlewareSlaveIPAddress = IPAddress.Parse("10.95.11.34"); static TcpListener MiddlewareSlaveTcpListener = new TcpListener(MiddlewareSlaveIPAddress, Convert.ToInt32("502")); static ModbusSlave middlewareslave = ModbusTcpSlave.CreateTcp(Convert.ToByte("255"), MiddlewareSlaveTcpListener); #endregion static void Main(string[] args) { string PLCMasterIPAddress = "10.95.11.32"; tcpClient.BeginConnect(PLCMasterIPAddress, 502, null, null); Thread.Sleep(100); #region "Set Relay Coit C0 to false" PLCModbusMaster.WriteSingleCoil(C0_RelayCoil_BitAddress, false); Thread.Sleep(50); bool[] C0_RelayCoil_BitValue = PLCModbusMaster.ReadCoils(C0_RelayCoil_BitAddress, 1); string C0RelayCoilBitValue = C0_RelayCoil_BitValue[0] ? "True" : "False"; Console.WriteLine("C0 Relay Coil = " + C0RelayCoilBitValue); Thread.Sleep(50); #endregion #region "Create DataStore and start listing" MiddlewareSlaveTcpListener.Start(); middlewareslave.DataStore = DataStoreFactory.CreateDefaultDataStore(); middlewareslave.DataStore.DataStoreWrittenTo += ModbusDataStore_DataStoreWrittenTo; middlewareslave.Listen(); Thread.Sleep(50); #endregion #region "Set Relay Coit C0 to false" PLCModbusMaster.WriteSingleCoil(C0_RelayCoil_BitAddress, true); Thread.Sleep(50); C0_RelayCoil_BitValue = PLCModbusMaster.ReadCoils(C0_RelayCoil_BitAddress, 1); C0RelayCoilBitValue = C0_RelayCoil_BitValue[0] ? "True" : "False"; Console.WriteLine("C0 Relay Coil = " + C0RelayCoilBitValue); Thread.Sleep(50); #endregion Console.ReadLine(); #region "ModbusDataStore_DataStoreWrittenTo" void ModbusDataStore_DataStoreWrittenTo(object sender, DataStoreEventArgs e) { Console.WriteLine("ModbusDataStore_DataStoreWrittenTo event fired!"); } #endregion } } } I've attached ladder logic screen shots showing the C0 relay coil being set on by the console application. The console application displaying the messages.  Note the absence of the "ModbusDataStore_DataStoreWrittenTo event fired!" message. WireShark showing the TCP Modbus traffic between the modbus master and slave over port 502.   The PLC NetEdit3 Modbus information Paul  
  5. Does anyone have experience with a Jiskoot Insight controller? Im trying to establish communications between it and a MVI69-MCM. I have checked and rechecked all my settings. I am not sure what I am doing wrong. Thanks
  6. Hello, I want control ATV320 inverter through MODBUS protocol. I found, that ATV312 inverter have IEC 61800-7 status chart. I attached picture. I want to ask, maybe ATV320 inverter have same IEC 61800-7 status chart and where need find it. Yesterday I try to find all evening, but don't successful. Somebody could help to me.
  7. Hello. How can I get bit addressing of defined variable in function block? For example: - I define variable type DUINT with name Double_VarI_INT. - I want to get or set one bit out of it (its double word). - If I use Double_VarI_INT.0 I got error. Best regards.
  8. Leuze MSI430 Safety PLC help??

    Hi all, My Task: To control write to registers to my MSI430 safety PLC from Leuze Electronic using a HMI as a master. Protocol: Modbus TCP MSI430 (Modbus TCP - server/slave) Generic HMI (Modbus TCP - client/master) I'm reading Okay from the Register address 401101-40110 But I'm not able to write to the MSI PLC to address 402101-402109 Please see the attached images for gateway description for the device. Please advice/guide on how this could be done. I have tried using MBPoll and it says Illegal Data Address. Kind Regards NarkO Please find the below link for the manual   
  9. Gx Works 2 ve fx2n için bir fonksiyon kütüphanesine ihtiyacım var. Servo ve step motor kontrolü için.   thank you
  10. Struct as FB input

    Hello,  I am trying to define a struct as an input variable for a Function or Function Block. For example the function AddDelimiter (This is a standard Sysmac function), has a input variable with the variable type Struct, an it is possible to couple a struct to this input (See picture below). If i try to make my own function block with a struct or Structure as an input data type, i get the following error (See picture below). When I try to define a struct from the data types (In this case struct: Test) it doesn't give a error. But when I try to couple a struct to this input, that is a layer deeper than the function block struct i get the following error (See picture below). How can i define a struct as an function/ function block input? Thanks in advance.
  11. HI, I HAVE FX5UCPU connected to other devices through built in RS485 port , i have gone through ADPRW instruction .To configure Slave devices like other third party controller , is there any special instruction required. i need few sample programs for modbus data transfer. 
  12. Modbus/TCP PN communication

    Hello, I'm trying to make communication between a 315-2 PN/DP and MSA Gasgard XL. I want to read out 40010, and 40020 from GasGard, it works sometimes, but most of time the connection does'nt  build up.  The parameters i using are: Start address: 9 Lenght: 10 Recv_Time: 5s Conn_Time: 5S I did playing with Recv and Conn Time and it effected the rate of succesful connections, but it still drops too often. Also i tried to read only 9 and 19, but then it didn't read 19. Anyone knows how could i optimize the connection? Thanks  
  13. Anyone ever used a Wait-for digital tag in a C Program? I have to use C in the Red Lion Programs.. but, I'm not at all proficient in C (or anything else for that matter ..) Here’s a nice problem for basic C programming .. I really need to solve it .. but, so far ... can't ... sigh!: I have an actuator that will be commanded to make sine wave motion.  The program that does that, in the actuator’s driver-controller, requires the actuator to first be in a zero position.  Homing has already been done, so the drive knows where the actuator is.  I cannot modify the sine wave program; but, can command a Move Absolute program in the drive, to take the actuator to zero, if it isn’t already there.  When the actuator is at zero, it is “In position” and a digital tag will go True. If the Tag is False, the actuator is not at zero, it’s at some other position,  and only the Move Absolute program can return the actuator to zero. So, when launching this position command program, In a Red Lion G3 HMI, using only Basic C programming, how would you write a control program that would test the status of the actuator’s position, and, finding it at zero (the “InPos” tag is true) would start the Sine Wave program.  And, If the “InPos” Tag is false, would start the Move Absolute program, which would return the actuator to zero, and when the actuator is In Position, would start the Sine Wave program. Here’s the tricky part. It will take only a few milliseconds to start the Move Absolute program (if required) .. but how do you get the “C” control program you are writing, to wait until the actuator actually reaches zero, and the “inPos” tag goes true … which could take several seconds? I don’t believe there is a WaitFor function in “C” , and you cannot send either the Move Absolute, or the Sine Wave program more than once .. so, if a loop is used, it can loop only one time .. presumably with conditional delays. (however that's done)  You cannot use Sleep().. that would be cheating.. the full program must run in the least amount of time, and you do not know how far the actuator is from zero. You could use if (! InPos) or if (InPos) to qualify what programs to run .. but, where does the “Wait for In position”  fit into C Programming?  You might be able to use Continue .. but, ya still have to wait for “InPos” to go True…..before running the Sine Wave.       Thanks Much, Regards, Michael
  14. I'm looking at project with an OMRON NJ-101.  I was planning on using Modbus TCP/IP from the PLC to talk to a MOXA gateway (MB3170) which would then talk to about 7 different slaves over RS-485.  Looking at detail at the blocks that are supplied by OMRON (MTCP_NJ V1.3, available from https://www.myomron.com/index.php?action=kb&article=1245), I noticed that it doesn't send the slave ID, which will mean that it won't be able to talk to different slave ids through the one IP Address. I had a look through the actual code and it sends "FF" in place of the slave id.  In particular I was looking at the "MTCP_Client_Fn03" block. Is there another way to get the NJ101 to talk the full MODBUS TCP/IP protocol? Is it possible to edit the blocks provided by OMRON?  It seems to me that they are locked down. If I could edit it I could just add the functionality Thanks for your help in advance.
  15. Hello guys, i want to connect my CP1e-N30DT to modbus device like weighing scale, but i try to searching modbus with RTU but all of them use function block, i dont understand and i think my device cant use a function block.  Can you help me for connect CP1E to modbus device for get a holding register(4xxxx),input register(3xxxx), coil(0xxxx) and input status(1xxxx) with cx programmer? thank you 
  16. Dear Engineers, Please hep me to send and read data in ML1400 through rS485 communication. Regards, Prasanna +918970424843
  17. Greetings everyone, I have a Proface HMI(LT-4201TM Modular type DIO) connected to a siemens flow transmitter(MAG6000). Communication between these two devices is using modbus. The modbus register that im using to get the data/reading of a totalizer from siemens transmitter are 403022 and 403023. I managed to display the exact totalizer value from siemens transmitter on the Proface HMI screen. But I couldnt get the exact totalizer value at the ladder logic side, the value that i get at the ladder logic side seems like a raw value. For an example, the totalizer's value is 147083(real value), but at the ladder logic side the value for 403022=15598 and 403023=17316.   Can anyone guide me to solve this issue.   Thanks in advance.
  18. HMI and Weighing Indicator

    hallo, i have problem here. i want to connect HMI OMRON NB7W-TW00B to weighing indicator with Modbus RTU rs485. i use this link https://www.myomron.com/index.php?action=kb&article=1538 for wiring diagram for rs485. and the baudrate, databit, parity check and stop bit is same between HMI and weighing indicator. but the output in HMI is "[2] PLC No Response: 00-01-2" i think the problem is my rs485 connection. can you help me? thank you.
  19. Morning Guys, For my latest project I need to read a gas sensor via 485 from a Momentum PLC. I've been through the help files, but they seem to only raise more questions than they answer, they only seem to reference PLC -> PLC comms. I've had a play with the 'MBP_MSTR' & 'OUT_IN_MBUS' function blocks, but i can't seem to get anywhere, Has anyone got any examples of reading in data via 485, or can anyone lead me in the right direction?
  20. Hello, I wanna be sure before I'll spend some money, will I be able to control Turck devices (ie http://pdb2.turck.de/cz/DE/products/000000170000c8000003003a ), from I've found here on forum and on internet it looks to me like it should be possible, but I'm new in field of automatization.   Thanks in advance EDIT: I'm talking about Modbus
  21. Hi, I've been working on a new software for a Weintek HMI model MT8071ie, which is controlling an Omron CP1E PLC. The computer is currently being used to simulate the HMI, connected to the PLC via USB. The connection between the computer and PLC has been flawless for the past few weeks I've had no trouble at all, but now all of a suden everytime I go to the online simulation I get the PLC No response that pops up. I've tried going through my settings several times to find an error somewhere, but nothing seems out of place. I also tried different cables, different PLC, I tried using backed up versions of my program that worked a few weeks ago with no success.  When I connect to the PLC using CX programmer it works everytime, so it doesn't seem to be a hardware issue. I'm starting to run out of ideas on where to check, if anyone has even a small idea on what my problem could be that would be great.  thank you!
  22. 1 slave to multiple masters

    Hello everyone. I got the project where plc Q00UJCPU with the module QJ71MB91 connected to the slave device via 485 channel . This plc takes some values (like current/voltage etc). i dont have access to this plc cause he is on guarantee on another service company. So question is... How to connect to this device as a other plc FX3U via 485ADP-MB (and i think RS command) module in parralel to QPLC already working link? Is this possible without harm QPLC and all the data which he takes?
  23. I need solution for master & slave configuration between 2 PLC Twido TWDLCAE40DRF. My final project is about a system for filling drink on a cup and do the packaging. the component of the project is the filling system (dropping cup, filling water, pressing the seal) and the packing (packing into a box and sealing the box). This project is using 2 PLC Twido TWDLCAE40DRF. My problem is how to configure one of them as the master and the other as the slave. I've read the manual book but it's hard to understand the instruction. if anyone can give a simplify explaination to me please reply this post or you can reach me at mail: tatangprayoga11@gmail.com  
  24. RS485 Async

    Hey guys I don't have much experience in PLC serial communication and I'm tasked to integrate 6 OP-905 scales with our EATON based control system. The scales are rs485 asynchronous serial communication, my concern is that if the device is not designed to be an RTU then I cannot use modbus. And if that is the case how do I talk to multiple scales using the async protocol. Has anyone done this in a similar platform? 
  25. Operation error

    I am developing an application with fx5u with inverter d700, it fails to send a command to the inverter, only running the application and monitoring the clp does not appear to fail, only when it sends a command. Attached photo of plc configuration and error. Do you have any secrets to doing communication, can I do it with a normal network cable? I'm doing with just one inverter, as the terminator should be at 110 or 330 ohm.