ModbusSim – Modbus TCP & Serial, Simulator (Slave)
Download link :
- http://www.4shared.com/file/5spc6wEJce/TCPSlave.html (4shared)
- https://schneider-electric.box.com/s/qnlrdg5pa1dcsxg0v7w6 (Schneider Electric Box)
OPC Common Error Code
Berikut adalah kumpulan error yang sering terjadi ketika anda mencoba mengkoneksikan OPC client ke OPC Server, Error-error ini biasanya muncul pada sisi client dan beberapa error yang sudah diketahui tersedia solusi untuk penyelesaiannya yang bisa jadi ada pada sisi server maupun client.
HEX | Description | Solution |
0x80010108 | The object invoked has disconnected from its clients. | Re-initialize your OPC Server Connection. |
0x80040004 | There is no connection for this connection ID | |
0x80040005 | Need to run the object to perform this operation | |
0x80040007 | Uninitialized object | |
0x80040154 | Class not registered | The OPC Server, or a component needed to make the OPC connection is not registered with Windows. This may mean that you simply need to register a DLL or OCX file. |
0x80040155 | Interface not registered | The OPC Server does not support the interface that you are trying to connect to. Examples may include Item Browsing, Asynchronous I/O or OPC DA v2.x or 3.x interfaces etc. |
0x800401f3 | Invalid class string | The GUID/CLSID of the specified OPC Server is not valid. |
0x80040200 | -Unable to impersonate DCOM Client -Unknown OLE status code |
DCOM security problem, typically on the Client side. This error typically occurs when trying to specify a callback address for Asynchronous I/O. |
0x80040202 | Cannot Connect | Error typically occurs when a call is made to Advise on the connection point. This often means that OPCPROXY.DLL is not the same version on your different computers. |
0x80070002 | The system cannot find the file specified | Re-install your software. |
0x80070005 | Access is denied. | You need to configure your DCOM Security settings. See our DCOM Tutorial: http://www.softwaretoolbox.com/dcom |
0x80070057 | The parameter is incorrect. | The OPC Server has rejected your request, indicating that the parameter(s) you specified are not valid for the type of request being made. You will need more details on the actual OPC calls being made between the Client and Server. |
0x8007041d | The service did not respond to the start or control request in a timely fashion. |
Specific to Windows Services. The service did not start within the allowed time-frame. This indicates an initialization problem with the Windows service |
0x800705b4 | This operation returned because the timeout period expired. |
This is a timeout. You may need to increase your timeout settings. |
0x800706ea | A floating-point underflow occurred at the RPC server. |
|
0x80070725 | Incompatible version of the RPC stub. |
|
0x80080005 | Server execution failed | There is a problem with the OPC Server preventing it from being started by Windows. This may be the result of file-permissions, DCOM Security permissions, or a lack of resources. |
0x80004002 | No such interface supported | The OPC Server does not support the interface that you are trying to connect to. Examples may include Item Browsing, Asynchronous I/O or OPC DA v2.x or 3.x interfaces etc. |
0x80004005 | Unspecified error | The most common message seen, that yields the least information. In these cases you often need to check the event-logs at your OPC Server for more information. |
0x8000401a | The server process could not be started because the configured identity is incorrect. Check the username and password. |
DCOM Configuration permissions. Modify the identity that the application should run under, perhaps specify a named account or choose “Interactive User’. |
0x800706ba | The RPC server is unavailable. |
The OPC Server could not be contacted. This is usually the result of a firewall blocking the application. |
Source: Indusoft Documentation
Jika anda pernah mendapatkan jenis error lain silahkan dishare di posting ini. Terimakasih
Water Tank PLC Control Simulation with Matlab Simulink
httpvh://youtu.be/Uz827S7tjRU
To play this simulation you need to have this item:
- Unity PRO S (minimum) / Unity Pro L /Unity Pro XL. Version 5 / 6 / 7 / 8 (I’m not provide the installer, you can find on another forum 1.5 Gb)
- Matlab 2012 / Matlab 2013 with simulink (I’m not provide the installer, you can find on another forum 6.5Gb)
- Modbus Ehternet OPC Server (Iconics) http://adf.ly/lA1Gt this is free OPC server, you don’t need to license the software
- Simulink Model, OPC Configuration(should be load from iconics modbus OPC Server) http://adf.ly/lA205
Trik mencari modbus register
Anda pernah mengalami kesulitan ketika mencari register address dari device modbus yang datasheetnya sudah hilang atau susah ditemukan di internet, atau merek yang jarang dipakai banyak orang? maka jika anda memilki software untuk membaca data pengukuran dari device tersebut maka anda masih ada kesempatan untuk mengetahui registernya. READ MORE
Modbus Exception Codes
Modbus Exception Codes adalah sebuah reply dari slave ketika kita mengQuery ke slave.
susunan Frame nya sebagai berikut:
[Slave Address] [Function Code Exception] [Error Code] [CRC1] [CRC2]
Function Code Exception:
merupakan “exception code” dari “function code” yang kita query kan ke Slave
contoh:
ketika kita merequest Funtion code 03 (Read Holding Register) maka exception code-nya adalah 83
ketika kita merequest Funtion code 06 (Write Multiple Register) maka exception code-nya adalah 86
Berikut adalah tabelnya:
Function Code in Request |
Function Code in Exception Response |
01 (01 hex) 0000 0001 |
129 (81 hex) 1000 0001 |
02 (02 hex) 0000 0010 |
130 (82 hex) 1000 0010 |
03 (03 hex) 0000 0011 | 131 (83 hex) 1000 0011 |
04 (04 hex) 0000 0100 |
132 (84 hex) 1000 0100 |
05 (05 hex) 0000 0101 | 133 (85 hex) 1000 0101 |
06 (06 hex) 0000 0110 | 134 (86 hex) 1000 0110 |
15 (0F hex) 0000 1111 | 143 (8F hex) 1000 1111 |
16 (10 hex) 0001 0000 | 144 (90 hex) 1001 0000 |
Error Code:
merupakan pesan error yang ingin disampaikan oleh slave terdiri seperti pada tabel dibawah:
Code | Name | Description |
01 | ILLEGAL FUNCTION | The function code received in the query is not an allowable action for the slave |
02 | ILLEGAL DATA ADDRESS | The data address received in the query is not an allowable address fror the slave |
03 | ILLEGAL DATA VALUE | A value contained in the query data field in not an allowabel value for the slave. |
04 | SLAVE DEVICE FAILURE | An unrecoverable error occurred while the savel was attempting to execute the requested action |
05 | ACKNOWLEDGE | The slave has accpeted the request and is processing it, but a long duration of time is required to do so. |
06 | SLAVE DEVICE BUSY | The slave is engaged in a long duration command. |
07 | NEGATIVE ACKNOWLEDGEMENT | The slave cannot perform the program function received I the query |
08 | MEMORY PARITY ERROR | The slave attempted to read extended memory, but detected a a parity error on the memory |
Atau yang lebih lengkap:
Exception Code |
Name |
Meaning |
01 |
Illegal |
The function code received in the query is not an allowable action for the slave. This may be because the function code is only applicable to newer devices, and was not implemented in the unit selected. It could also indicate that the slave is in the wrong state to process a request of this type, for example because it is unconfigured and is being asked to return register values. If a Poll Program Complete command was issued, this code indicates that no program function preceded it. |
02 |
Illegal Data Address |
The data address received in the query is not an allowable address for the slave. More specifically, the combination of reference number and transfer length is invalid. For a controller with 100 registers, a request with offset 96 and length 4 would succeed, a request with offset 96 and length 5 will generate exception 02. |
03 (03 hex) |
Illegal Data Value | 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. |
04 |
Slave Device Failure |
An unrecoverable error occurred while the slave was attempting to perform the requested action. |
05 (05 hex) |
Acknowledge | Specialized use in conjunction with programming commands. The slave has accepted the request and is processing it, but a long duration of time will be required to do so. This response is returned to prevent a timeout error from occurring in the master. The master can next issue a Poll Program Complete message to determine if processing is completed. |
06 (06 hex) |
Slave Device Busy | Specialized use in conjunction with programming commands. The slave is engaged in processing a long-duration program command. The master should retransmit the message later when the slave is free.. |
07 (07 hex) |
Negative Acknowledge | The slave cannot perform the program function received in the query. This code is returned for an unsuccessful programming request using function code 13 or 14 decimal. The master should request diagnostic or error information from the slave. |
08 (08 hex) |
Memory Parity Error | Specialized use in conjunction with function codes 20 and 21 and reference type 6, to indicate that the extended file area failed to pass a consistency check. The slave attempted to read extended memory or record file, but detected a parity error in memory. The master can retry the request, but service may be required on the slave device. |
10 (0A hex) |
Gateway Path Unavailable | Specialized use in conjunction with gateways, indicates that the gateway was unable to allocate an internal communication path from the input port to the output port for processing the request. Usually means the gateway is misconfigured or overloaded. |
11 (0B hex) |
Gateway Target Device Failed to Respond | Specialized use in conjunction with gateways, indicates that no response was obtained from the target device. Usually means that the device is not present on the network. |
Sumber:
http://ehelp.ingeardrivers.com/mbopc/trouble_shooting/error_codes/modbus_exception_codes.htm
http://www.simplymodbus.ca/exceptions.htm
Menggunakan Modbus Slave Multiple RTU
Modbus Slave Multiple RTU merupakan software yang berfungsi sebagai simulator pengganti PLC/Transmitter berbasis modbus. Jadi software ini menjadi PLC “Dummy” yang berisikan register-register modbus (Holding Register, Input Register, Status Register, dan Coil Register). Register tersebut dapat diakses menggunakan serial port dengan menggunakan PLC ataupun Komputer lain yang berfungsi sebagai HMI. Kegunaannya adalah untuk menggantikan PLC sebenarnya agar ketika membuat HMI akan lebih praktis ketika mencoba mengakses register. Kelebihan utama software ini yaitu dapat menjadi beberapa “dummy” sekaligus. cocok untuk membuat HMI pada SCADA system yang memiliki banyak RTU agar lebih praktis tidak memerlukan menggunakan banyak PLC yang sebenarnya.
apa itu HART Communication ?
HART merupakan singkatan dari “Highway Addressable Remote Transducer” yang bisa diterjemahkan sebagai Transducer berada pada remote area (jauh) . HART adalah sebuah protokol yang dikembangkan oleh Rosemount yang dibuat berdasarkan standar komunikasi Bell 202. HART merupakan open protokol yang berarti dapat digunakan dan dikembangkan oleh siapapun. HART memiliki dua modulasi sekaligus dalam komunikasinya yaitu menggunakan analog (4-20mA) dan Digital yaitu FSK (Frequency Shift Keying).
Modbus Protokol dan Serial Standard
Modbus adalah sebuah open protocol yang menggunakan Layer Application atau Layer ke tujuh pada OSI Model (OSI: Open Systems Interconnection). Modbus di transmissikan melalui komunikasi Serial (Modbus RTU / Modbus Serial) dan juga Ethernet (Modbus TCP). Modbus pertama kali dikembangkan oleh Modicon (Saat ini Modicon dimiliki oleh Schneider Electric), yang juga merupakan PLC Pertama didunia yang ditemukan oleh Dick Morley. kemudian Modbus dikembangkan secara open oleh organisasi Modbus.org Modbus merupakan protocol yang paling umum digunakan dibanyak Device di brand apapun saat ini karena kemudahannya dan sifatnya yang open menjadikannnya Protocol favorite di Industrial Automation.
Setelah saya mempelajari sistem SCADA secara umum maka kemudian saya mempelajari dari masing-masing subsistemnya. dimulai dari bagaimana cara kerjanya, bagaimana cara berkomunikasinya, bagaimana cara mengambil data dan lainnya. Sampai akhirnya saya mempelajari Komunikasi Serial pada PLC dan bertemu dengan jenis-jenis standard industri komunikasi serial dan juga standar industri protokol untuk komunikasi data. READ MORE