CitectSCADA – Dot Matrix Alarm Printing (Problem)

If you are having trouble with alarm printing to dot matrix (via DOS-PRINT)

Suspect trouble: Your alarm only printed once, after that you can’t print anymore even using manual command/script.

here is some trick to make your alarm print works:

1st Step:

configure your device (printer) as usual configuration (I assume you have configured DOS-PRINT)

2ND Step:

This is the main trick, we need to Flush the printer (In my case, I put every 3 second)

and the function PrinterFlush() should be created in cicode.

And here is the cicode function:

 

Done.

I hope these steps work for you, I worked really hard on this! Sometimes while working in front of the computer I worry I sit around too much. There is a lot of info online on the negative effects of doing so. I try to take care of myself by exercising when I can and watching what I eat, also whenever possible, but I sometimes wonder if it’s enough. I even take a health supplement to ensure I’m giving my body what it needs. I highly recommend it by the way. You can find it at http://kratommasters.com if you want to check it out.

Modicon M580 – ePAC pertama

Modicon M580 Merupakan ePAC (Ethernet Process Automation Controller) yang di desain compact dan memenuhi kebutuhan untuk medium offer atau skala menengah di Proses Automation.

Fitur Utama: Integrated Distributed IO  dan atau Integrated Distributed IO

Kapasitas CPU Discrete IO : 1024, 2048, 3072, 4096

Kelebihan lain:

 

Benefits

Achieve a more productive and efficient process

By embedding standard unmodified Ethernet right into its core, Modicon M580 offers you more transparency, flexibility and openness so you can access the right production information at the right time, and achieve a more productive and efficient process.

Performant:

  • Data management speed up to twice
  • Timestamping less than 1 millisecond

Innovative:

  • Open Ethernet backbone
  • High-tech PAC
  • High precision
  • Safety designed for future
  • Energy efficiency enabling
  • Cyber secure built-in

Easy and flexible:

  • Design your architecture without constraints
  • Modify your process and architecture in run
  • Diagnose remotly
  • Reduce your development costs

Sustainable:

  • Secure investments

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:

  1. 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)
  2. Matlab 2012 / Matlab 2013 with simulink (I’m not provide the installer, you can find on another forum 6.5Gb)
  3. Modbus Ehternet OPC Server (Iconics) http://adf.ly/lA1Gt this is free OPC server, you don’t need to license the software
  4. Simulink Model, OPC Configuration(should be load from iconics modbus OPC Server) http://adf.ly/lA205

READ MORE

PLC – Unity Pro XL, Set up project and configuration

Unity Pro XL adalah software yang digunakan untuk programming & konfigurasi PLC Schneider.

PLC yang di dukung oleh Unity Pro XL antara lain:

  • M340
  • Modicon Quantum
  • Modicon Premium
  • M580

Pada jenis PLC tersebut tidak semua processor/CPU pada PLC tersebut didukung oleh Unity, ada beberapa CPU yang didukung oleh ProWorks atau PL7

fitur dari Unity Pro:

  • 5 IEC61131-3 languages + Legacy LL984
  • Integrated conversion tools dari software Concept, Proworks, PL7 Pro
  • FDT / DTM standard, untuk integrasi dengan field device
  • Customizable integrated Function Block Library (DFB)
  • PLC simulator on PC, Built-in test and diagnostic
  • Animation tables, Operator Screens and Trending Tool

READ MORE

Database to OPC (Iconics DataWorX)

Pernahkah terpikirkan ketika anda mengintegrasikan sebuah sistem baru dengan existing system yang berbeda teknologi? misalkan ketika anda akan mengintegrasikan plant yang akan di monitoring yang salah satu system didalamnya menggunakan database sebagai penyimpanan data dan tidak memiliki services seperti OPC? namun anda perlu menampilkannya pada HMI? berikut ini bisa jadi sebuah solusi untuk anda..

READ MORE

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

Faulty Measurement Analysis


Faulty Measurment
– atau Error in Measurement – Kesalahan Pengukuran

Adalah sebuah kesalahan dalam pengukuran dalam alat ukur (yang telah terkalibrasi) akibat faktor eksternal atau internal dari alat ukur itu sendiri. (yang kali ini akan dibahas untuk faktor eksternal, terutama pada power quality  input)

Penyebab kesalahan pengukuran  dapat terjadi dari berbagai sebab yaitu:

Internal :

  1. Nilai yang diukur diluar jangkauan alat (Out of range)
  2. Batasan alat (Device Limitation) misal: Input Voltage, Environment Temperature (Suhu Lingkungan), Humidity, dll
  3. Instrument Error (Alat ukur error/rusak)

External (Electricity):

  1. Noise Input Voltage (Spike Voltage)
  2. Harmonik
  3. Unstable Voltage
  4. Electromagnetic Interference (EMI) atau juga biasa disebut RFI (Radio Frequency Interference)

Pengklasifikasian tesebut (Internal dan Eksternal) merupakan klasifikasi berdasarkan input (Rifqi Imanto,2011)

Sedangkan berdasarkan paper “Error in Measurement” oleh Sunil Kumar Singh,2007 kesalahan pengukuran diklasifikasikan ditinjau dari output measurement sebagai Systematic Error dan Random Error. Dimana Systematic Error berelasi dengan Akurasi sedangkan Random Error berelasi dengan Presisi.
Systematic Error: Instrument Error, Procedural Error
Random Error: Least count error, Mean value error 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
(01 hex)

Illegal
Function

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
(02 hex)

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
(04 hex)

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