Cara membaca register Real / Float di Machine SCADA Expert (MSE) / Indusoft Web Studio (IWS)

bingung cara membaca register modbus dengan IWS atau Machine SCADA Expert (MSE) ?

pastikan, baca manual help nya MOTCP.PDF di folder installer Machine SCADA Expert (MSE), disana terdapat cara komunikasinya dan data type nya, serta format penulisan registernya.

READ MORE

M580 State Ram Addressing

M580 Addressing

Seperti yang kita ketahui, pada Modicon M580 pengalamatan ke hardware input / output menggunakan gaya baru yaitu Device DDT. dimana setiap kita menambahkan module, maka akan tercipta 1 variable yang isinya sudah komplit mulai dari diagnostiknya, hingga si Value nya sendiri perchannel

Berbeda dengan Modicon Quantum dan M340, PLC terdahulu sebelum M580 ini memiliki 2 cara untuk pengalamatan (addressing) ke module input output, yaitu dengan Topology Addressing dan state ram Addressing. Nah banyak programmer PLC yg sudah sangat terbiasa dengan yg namanya Stateram Addressing. Jadi apa itu state ram Addressing?

READ MORE

Ecostruxure Machine Expert

this installer only contain downloader installer you need good internet connection to install it, it may take whole day to complete if you have poor internet connection.

if you find Machine Expert Basic (Modicon M221) you can download from this link:

Node-Red ~ Modbus Floating Point Convert (Float32 / Real)

this function script is used to convert your 2 words into Float32bit

/* Converts from an number, string, buffer or array representing an IEEE-754 value
 to a javascript float.
 The following may be given in msg.payload:
 A string representing a number, which may be hex or binary
 examples, "1735" "0x02045789" 0b01000000010010010000111111011011
 An integer value
 A two element array or buffer of 16 bit values, less significant byte first.
 A four element array or buffer of 8 bit values, most significant byte first.
 Source: https://flows.nodered.org/flow/359ead34237b7ab6ec0465ee85a34b62
 */
 // first make a number from the given payload if necessary
 let intValue;
 if (typeof msg.payload === "number") 
{
 intValue = msg.payload;
 } else if (typeof msg.payload === "string") {
 intValue = Number(msg.payload);
 } else if (msg.payload.length == 2) {
 // two int array or buffer
 intValue = (msg.payload[1] << 16) + msg.payload[0];
 } else if (msg.payload.length == 4) {
 // four byte array or buffer
 intValue = (((((msg.payload[0] << 8) + msg.payload[1]) << 8) + msg.payload[2]) <<
 8) + msg.payload[3];
 } else {
 node.warn("Unrecognised payload type or length");
 } 
 msg.payload = Int2Float32(intValue);
 msg.payload = msg.payload.toFixed(1);
 return msg;
 function Int2Float32(bytes) {
 var sign = (bytes & 0x80000000) ? -1 : 1;
 var exponent = ((bytes >> 23) & 0xFF) - 127;
 var significand = (bytes & ~(-1 << 23));
 if (exponent == 128)
 return sign * ((significand) ? Number.NaN : Number.POSITIVE_INFINITY);
 if (exponent == -127) {
 if (significand === 0) return sign * 0.0;
 exponent = -126;
 significand /= (1 << 22);
 } else significand = (significand | (1 << 23)) / (1 << 23);
 return sign * significand * Math.pow(2, exponent);
 }

Modbus-IoT (Modbus over MQTT)

Modbus?? old school protocol (more than 40th years).

when Modbus created, it was created for Serial communication via RS485. after year by year, technology was changing and ethernet / TCP widely used in PLC and industrial control system, then Modbus move their medium to Ethernet and wrap their message in TCP (encapsulated) over ethernet.

Now, when everything going to the cloud or  RTU/PLC are not in the same place with SCADA and it only have internet connection, it will be hard and expensive for Modbus to keep exist in Internet area. because we need at least public IP for each device, or creating VPN.

but with MQTT the message can be send over the broker (on the cloud), so it will be exiting if modbus can be sent through MQTT.

if you’ve heard about Node-red this is cool IoT tools/platform built in NodeJS.

I’m using Node-red to make it’s encapsulation, and Modscan as Modbus Master (or SCADA), and Modsim as Modbus Slave (or  PLC)

READ MORE

HMI GTU (HMIG3U) Recovery

If your HMIG3U Magelis runtime just crash and Halt you can recover only using SDcard by using this tool “BackupRecovery” you can download from this link:
https://schneider-electric.box.com/s/c6ray49otwvj1p3ugyq66b3kx76lsqzc

and image recover HMIG3U VJD 6.2 SP 5.1 :
https://schneider-electric.box.com/s/pxquf8r3d507k01od8w8l1rnowv8nj8m

and here is the official tutorial from schneider electric, the different thing is only version of image. if you are using newer version you can’t recover to the previous version so I created the newest version:

https://www.schneider-electric.com/en/faqs/FA242275/

Vijeo Designer Project Data – Default Path

Halo,

Jika kita sudah pernah menggunakan Vijeo Designer, pasti sudah sangat familiar dengan cara Save Project yang agak sedikit berbeda dengan software seperti microsoft excel atau software pada umumnya. jika kita melakukan penyimpananan pada software apapun, normalnya kita akan ditawarkan untuk menyimpan di lokasi tertentu, namun berbeda dengan Vijeo Designer yang menyimpan ke lokasi default nya, yang mungkin kita butuhkan. walaupun sebenarnya kita dapat melakukan backup/Export kemudian barulah kita dapatkan file backup berupa *.VDZ ada kalanya kita butuh backup project nya secara langsung dari folder defaultnya, dimanakah folder tersebut?

berikut adalah lokasi default Vijeo Designer 6.2 :

C:\Users\Public\Documents\Vijeo-Designer 6.2\Vijeo-Manager

Vijeo Designer Basic 1.1:

C:\Users\Public\Documents\Vijeo-Designer Basic 1.1

 

 

Magelis, Vijeo Designer, Vijeo Designer Basic, Schneider Electric

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:

FUNCTION PrinterFlush()
INT hDevice;
	ErrSet(1);
	hDevice = DevOpen("PRINT1",0);
	IF IsError() = 0 THEN
		DevFlush(hDevice);
		DevClose(hDevice);
	END
	ErrSet(0);
END

 

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.

Citect SCADA / Vijeo Citect to SQL With CiCode

Jika anda membutuhkan sebuah data logger dari Citect SCADA / vijeo citect ke SQL misal Ms SQL Server, atau anda ingin melalukan sejumlah sampling data dari Citect SCADA / Vijeo Citect ke database, berikut video solusinya:

 

Cara logging data Citect SCADA ke SQL, Citect to SQL

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