Wednesday, July 31, 2019

VOLTAGE SWELL

  1. Definisi Voltage swell

Voltage swell merupakan suatu fenomena kenaikan tegangan rms dari nilai nominalnya yang terjadi dalam waktu yang singkat, sekitar 10 ms sampai beberapa detik. IEC 61000-4-30 mendefinisikan voltage swell sebagai kenaikan besar tegangan sementara pada titik diatas nilai threshold-nya. Sedangkan berdasarkan IEEE Standard 1159-1995, voltage swell merupakan variasi tegangan rms dengan besar antara 110% sampai 180% dari tegangan nominal dan berlangsung selama 0,5 siklus sampai satu menit. Gambar berikut menunjukkan gelombang tegangan saat terjadi voltage swell dengan besar 1.2 pu dan berlangsung selama 0,12 detik.

Gambar 2.2. Contoh Bentuk Gelombang Saat Terjadi Voltage swell
  1. Karakteristik Voltage swell

Karakteristik dari voltage swell dapat dilihat pada Gambar 3 untuk gelombang tegangan yang ideal (sinusoidal murni, tanpa harmonik)

Gambar 2.3. Karakteristik Voltage swell
Voltage swell dicirikan dengan besarnya swell (tegangan saat terjadi fault) dan durasinya. Besarnya swell ditentukan oleh jarak terjadinya fault dan durasinya bergantung pada waktu penghilangan fault.
  • Swell magnitude
Merupakan tegangan rms total saal fault terjadi, yang dinyatakan dalam persen atau dalam nilai per-unit dari tegangan nominalnya.
  • Swell Duration
Durasi swell merupakan waktu saat tegangan menjadi tinggi, biasanya kurang dari 1 detik. Durasi swell bergantung pada peralatan proteksi arus lebih dan seberapa lama arus faultdiperbolehkan untuk mengalir. Ada banyak jenis peralatan yang digunakan untuk menghilangkan fault dan masing-masing mempunyai waktu absolut minimum untuk menghilangkan fault.
  • Phase angle jump
Fault yang terjadi pada sistem tenaga listrik tidak hanya menyebabkan turunnya besar tegangan, tapi juga menyebabkan perubahan pada sudut fasa tegangan. Phase angle jump (yaitu perbedaan sudut fasa selama terjadi swell dan sebelum terjadiswell) dapat dihitung dari nilai tegangan kompleks Vswell.
  1. Model Matematis untuk Menghitung Voltage swell

Berdasarkan referensi yang didapat, ada dua model matematika yang digunakan untuk menghitung besarnya voltage swell, model pertama yang mengabaikan besarnya arus beban, dan model kedua yang memperhitungkan arus beban.
Model pertama : arus beban diabaikan
Besarnya voltage swell dapat dinyatakan dalam model pembagian tegangan (voltage divider) sebagaimana yang tergambar pada gambar berikut:

Gambar 2.4. Model Pembagian Tegangan Saat Terjadi Voltage swell
Dengan mengabaikan arus beban, tegangan swell,
Vswell, dapat dinyatakan sebagai:

Dimana Zs merepresentasikan impedansi sumber pada point of common coupling (PCC) dan Zf merepresentasikan impedansi diantara PCC sampai ke lokasi terjadinya fault. Pada titik terjadinya fault, tegangan bernilai mendekati nol. Oleh karena itu, impedansi Zs dan Zf menentukan besarnya voltage swell, sedangkan durasi terjadinya voltage swell ditentukan oleh waktu penghilangan fault alat proteksi. Dari persamaan di atas, terlihat bahwa jika fault terjadi di dekat PCC, akan menyebabkan voltage swell yang terjadi semakin dalam.
Model kedua : Memperhitungkan arus beban
Dengan memperhatikan Gambar 2.5, pada kondisi normal (tidak terjadi fault), arus yang mengalir menuju beban A dan beban B bernilai sama (beban seimbang). Ketika terjadi fault pada feeder 1, arus yang sangat besar akan mengalir menuju feeder 1. Sehingga, berdasarkan pada hukum Kirchhoff, aliran arus menujufeeder 2 akan berkurang. Sebagai akibatnya, tegangan padafeeder 2 juga akan turun. Penurunan tegangan ini kemudian didefinisikan sebagai voltage swell.

Gambar 2.5. Perhitungan Voltage swell
Jika diasumsikan:
Beban A        = ZLOAD_A
Beban B         = ZLOAD_B
Reaktansi feeder 1    = x1
Reaktansi feeder 2    = x2
Arus dari sumber    = I
Arus pada feeder 1    = I1
Arus pada feeder 2    = I2
Sehingga     I = I1 + I2
Pada kondisi normal (tidak terjadi fault)

Ketika fault terjadi pada feeder 1 karena hubung singkat, arus yang sangat besar akan mengalir melalui feeder 1 begitu pula arus sumber I. Pada saat ini, tegangan pada feeder 2 menjadi turun karena peningkatan voltage drop pada reaktansi xs yang pada akhirnya menyebabkan swell terjadi.
 (Ketika fault terjadi)
Sehingga:

dan nilai V2 menjadi lebih kecil dari nilai nominalnya (voltage swell)
  1. Metode Deteksi Tegangan

Deteksi tegangan sangat diperlukan karena dapat menentukan unjuk kerja dinamik dari regulator voltage swell. Oleh karena itu, deteksi tegangan yang presisi dan cepat merupakan bagian penting dari regulator voltage swell. Beberapa metode deteksi tegangan yang telah didokumentasikan pada penggunaan berbagai macam skema kompensasi tegangan antara lain:
  • Metode rata-rata
  • Metode deteksi RMS (RMS detection method)
  • Metode deteksi dengan transformasi DQ
  • Metode deteksi puncak (peak detection method)
  • Menggunakan signal processing
Diantara metode-metode di atas, banyak pendekatan yang telah menggunakan transformasi DQ dengan kerangka acuan sinkron (synchronous reference frame) untuk mendeteksi adanya swell. Teknik pemrosesan sinyal seperti FFT (Fast Fourier Transformation) dan Wavelet Transformation dapat digunakan untuk mendeteksi voltage swell. Akan tetapi, untuk mendapatkan informasi besar tegangan yang akurat, FFT dapat memakan waktu sampai satu siklus frekuensi fundamental. Sedangkan penggunaan Wavelet Transformation, sekalipun dapat mendeteksi perubahan mendadak pada tegangan suplai, implementasi secarareal time menjadi sulit karena jumlah pemrosesan data yang besar. Metode transformasi DQ dan metode deteksi puncak dapat dijelaskan sebagai berikut:
  1. Transformasi DQ untuk Deteksi Tegangan

Teori transformasi DQ telah banyak digunakan pada aplikasimotor drive selama beberapa tahun, dan teori ini kemudian diadaptasi untuk mendeteksi voltage swell. Nilai transformasi DQ dihitung dengan menggunakan persamaan (5), dimana nilai tiga fasa ditransformasikan ke nilai stasioner dua-sumbu menjadi Vdsdan Vqs. Kedua nilai ini kemudian ditransformasikan menjadi nilai dq pada kerangka rotasi

dimana θ adalah perbedaan sudut antara fase A dengan sumbu-q
Jika parameter tiga fasa seperti arus dan tegangan bernilai seimbang, nilai transformasi DQ akan menghasilkan nilai DC yang konstan. Dengan adanya pengubahan nilai AC tiga fasa menjadi nilai DC yang konstan menjadikan desain kontroler tegangan menjadi lebih mudah. Gambar 2.6 (kiri) menunjukkan tegangan tiga fasa dan hasil transformasi dq-nya (Gambar 2.6 kanan). Dari gambar, terlihat jelas bahwa sekalipun terjadi voltage swell, nilai pada sumbu-d tetap bernilai nol, dan komponen sumbu-q secara langsung mengindikasikan perubahan pada besarnya tegangan. Transformasi DQ menggunakan nilai sesaat yang menjadikan waktu deteksi menjadi lebih cepat dibandingkan dengan metode lain seperti metode deteksi RMS, metode puncak dan metode rata-rata.

Gambar 2.6. Hasil Transformasi DQ Tegangan Tiga Fasa Seimbang
Akan tetapi, untuk voltage swell yang tidak seimbang, metode transformasi DQ tidak menunjukkan adanya perubahan seketika pada nilai DC-nya. Nilai keluaran transformasi DQ mempunyai komponen ripple 100 / 120 Hz, yang merupakan dua kali nilai frekuensi sumber tegangan.
  1. Metode Deteksi Tegangan Puncak

Metode transformasi DQ memberikan waktu deteksi yang cepat untuk sistem tiga fasa yang seimbang. Akan tetapi, untuk mendapatkan komponen DC pada kerangka rotasi pada sistem yang tidak seimbang, komponen ripple 120 Hz perlu dihilangkan dengan menggunakan filter yang membuat respon deteksi menjadi lamban.
Untuk mengendalikan dan mendeteksi voltage swell, kompensator tegangan hanya membutuhkan nilai puncak tegangan input dan output. Oleh karena itu, metode sederhana yang disebut “peak detection method” digunakan. Jika transformasi DQ membutuhkan informasi ketiga fasanya, peak detection methodhanya membutuhkan nilai fasa tunggalnya. Low-pass filter dengan frekuensi cut-off yang dibutuhkan untuk mengeliminasi noisepengukuran dipasang pada rangkaian pengindera. Sebagaimana yang telah disebutkan sebelumnya, penyaringan (filtering) pada transformasi DQ menyebabkan adanya detection delay. Dengan membandingkan waktu deteksinya, peak detection methodmempunyai waktu deteksi yang hampir sama dengan transformasi DQ yang mempunyai notch filter 120 Hz. Peak detection method diimplementasikan sebagaimana terlihat pada Gambar 10, dan persamaan XXX menunjukkan metode deteksi puncak ini

Gambar 2.7. Pengukuran Tegangan dengan Peak Detection Method

Proses pengukuran magnitudo puncak dapat dijelaskan sebagai berikut. Tegangan phase-to-neutral salah satu fasa diukur, dan nilai cosinus tegangan ini dicari dengan menggunakan phase shifter 90o. Dengan mengasumsikan frekuensi suplai bernilai tetap, nilai pergeseran 90o dapat dicari dengan menggunakan rangkaian digital atau dengan pemrosesan sinyal digital. Komponen sinus dan cosinus kemudian dikuadratkan dan dijumlahkan untuk mendapatkan Vm2. Dengan mendapatkan nilai akar dari Vm2, besarnya tegangan dapat ditemukan. Gambar 11 menunjukkan hasil pengukuran tegangan menggunakan peak detection method.

Gambar 2.8. Hasil Pengukuran Tegangan dengan Peak Detection Method
Share:

Tuesday, May 21, 2019

The OIDs for reading the port link status from Connexium Ethernet Switch TCSESM083F23F1 using SNMP Protocol in a MIB browser

The very first step is to install the correct MIB file in the MIB Browser.
We need to install the two files in the MIB Browser.

1.SchneiderTFE-V03-00.mib
2.SchneiderElectricSwitches_V02_00.mib.
Contact your local country Schneider Electric Customer Care Center to get this files.

The port status can be up(1), down (2).
The OID for reading the port status is read as below.
 Port x >>  oid=".1.3.6.1.2.1.2.2.1.8.x"

Where "x" denotes the number of port in the switch.

The LED status can for Power, Ring Manager, Standby, fault , Relay R1 and R2.
The OID for them are as below.

1. Power Supply P >> oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.1.0
2. Fault >>  oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.4.0
3. Ring Manager RM  >> oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.3.0"
4. Standby >> oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.2.0"
5. Relay R1 >> oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.5.0"
5. Relay R2 >> oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.6.0"


This XML file does not appear to have any style information associated with it. The document tree is shown below.
<SnmpSimulatorData>

<Instances>

<!-- ifOperStatus.8 -->

<Instance name="ifOperStatus.8" oid=".1.3.6.1.2.1.2.2.1.8.8" valueType="Integer">

<Value>
<![CDATA[ up (1) ]]>
</Value>
</Instance>

<!-- ifOperStatus.7 -->

<Instance name="ifOperStatus.7" oid=".1.3.6.1.2.1.2.2.1.8.7" valueType="Integer">

<Value>
<![CDATA[ down (2) ]]>
</Value>
</Instance>

<!-- ifOperStatus.6 -->

<Instance name="ifOperStatus.6" oid=".1.3.6.1.2.1.2.2.1.8.6" valueType="Integer">

<Value>
<![CDATA[ down (2) ]]>
</Value>
</Instance>

<!-- ifOperStatus.5 -->

<Instance name="ifOperStatus.5" oid=".1.3.6.1.2.1.2.2.1.8.5" valueType="Integer">

<Value>
<![CDATA[ down (2) ]]>
</Value>
</Instance>

<!-- ifOperStatus.4 -->

<Instance name="ifOperStatus.4" oid=".1.3.6.1.2.1.2.2.1.8.4" valueType="Integer">

<Value>
<![CDATA[ up (1) ]]>
</Value>
</Instance>

<!-- ifOperStatus.3 -->

<Instance name="ifOperStatus.3" oid=".1.3.6.1.2.1.2.2.1.8.3" valueType="Integer">

<Value>
<![CDATA[ down (2) ]]>
</Value>
</Instance>

<!-- ifOperStatus.2 -->

<Instance name="ifOperStatus.2" oid=".1.3.6.1.2.1.2.2.1.8.2" valueType="Integer">

<Value>
<![CDATA[ up (1) ]]>
</Value>
</Instance>

<!-- ifOperStatus.1 -->

<Instance name="ifOperStatus.1" oid=".1.3.6.1.2.1.2.2.1.8.1" valueType="Integer">

<Value>
<![CDATA[ down (2) ]]>
</Value>
</Instance>

<!-- saLEDTCSESMEPowerSupply.0 -->

<Instance name="saLEDTCSESMEPowerSupply.0" oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.1.0" valueType="Integer">

<Value>
<![CDATA[ green (2) ]]>
</Value>
</Instance>

<!-- saLEDTCSESMEStandby.0 -->

<Instance name="saLEDTCSESMEStandby.0" oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.2.0" valueType="Integer">

<Value>
<![CDATA[ off (1) ]]>
</Value>
</Instance>

<!-- saLEDTCSESMERedundancyManager.0 -->

<Instance name="saLEDTCSESMERedundancyManager.0" oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.3.0" valueType="Integer">

<Value>
<![CDATA[ off (1) ]]>
</Value>
</Instance>

<!-- saLEDTCSESMEFault.0 -->

<Instance name="saLEDTCSESMEFault.0" oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.4.0" valueType="Integer">

<Value>
<![CDATA[ off (1) ]]>
</Value>
</Instance>

<!-- saLEDTCSESMERelay2.0 -->

<Instance name="saLEDTCSESMERelay2.0" oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.6.0" valueType="Integer">

<Value>
<![CDATA[ off (1) ]]>
</Value>
</Instance>

<!-- saLEDTCSESMERelay1.0 -->

<Instance name="saLEDTCSESMERelay1.0" oid=".1.3.6.1.4.1.3833.1.1.14.1.1.35.3.5.0" valueType="Integer">

<Value>
<![CDATA[ yellow (3) ]]>
</Value>
</Instance>
</Instances>
</SnmpSimulatorData>
Share:

Monday, May 13, 2019

Different Variants of The MODBUS/MODNET protocol

Applies To:

CitectSCADA 5.31, 5.40, 5.41, 5.42, 5.50, 6.0, 6.1, 7.0 until Last Version
CitectHMI 5.31, 5.40, 5.41, 5.42, 5.50, 6.0, 6.1, 7.0 until Last Version
CitectFacilities 5.31, 5.40, 5.41, 5.42, 5.50, 6.0, 6.1, 7.0 until Last Version
Summary:

What is the difference between all the variants of the MODBUS/MODNET driver?
Solution:
From the driver help:
MODNET   -  1-indexed registers/coils with bit access to registers as 1-16.
              No support for extended registers.
              Maximum request size of 2000 bits.

MODNET0  -  1-indexed registers/coils with bit access to registers as 1-16.
              No support for extended registers.
              Maximum request size of 2000 bits.           

MODNET1  -  0-indexed registers/coils with bit access to registers as 1-16.
              No support for extended registers.
              Maximum request size of 2000 bits.

MODNET2  -  1-indexed registers/coils with bit access to registers as 0-15.
              No support for extended registers.
              Maximum request size of 2000 bits.

MODNET3  -  0-indexed registers/coils with bit access to registers as 0-15.
              No support for extended registers.
              Maximum request size of 2000 bits.

MODNET10 - 1-indexed registers/coils with bit access to registers as 1-16.
             Support for extended registers.
             Maximum request size of 1920 bits.

MODNET11 - 0-indexed registers/coils with bit access to registers as 1-16.
             Support for extended registers.
             Maximum request size of 1920 bits.

MODNET12 - 1-indexed registers/coils with bit access to registers as 0-15.
             Support for extended registers.
             Maximum request size of 1920 bits.

MODNET13 - 0-indexed registers/coils with bit access to registers as 0-15.
             Support for extended registers.
             Maximum request size of 1920 bits.

MODNET20 - TSX Quantum Compatability Mode.
           1-indexed registers/coils with bit access to registers as 0-15.
             Support for extended registers.
             Maximum request size of 1920 bits.
             Forced parameter: RegisterBitReverse=1, FloatMode=0, LongDataType=3

MODNET21 - TSX Quantum Compatability Mode. (superseded by MODNET20)
           1-indexed registers/coils with bit access to registers as 0-15.
             No support for extended registers.
             Maximum request size of 2000 bits.
             Addressing syntax %M123, %MW123, %MW123.4 etc...
             Forced parameter: RegisterBitReverse=1, FloatMode=0, LongDataType=3

MODNET30 - TSX Premium Compatability Mode.
           0-indexed registers/coils with bit access to registers as 0-15.
             No support for extended registers.
             Maximum request size of 1024 bits.
             Forced parameter: RegisterBitReverse=1, FloatMode=0, LongDataType=3

MODNET31 - TSX Premium Compatability Mode. (superseded by MODNET30)
           0-indexed registers/coils with bit access to registers as 0-15.
             No support for extended registers.
             Maximum request size of 1024 bits.
             Addressing syntax %M123, %MW123, %MW123.4 etc...
             Forced parameter: RegisterBitReverse=1, FloatMode=0, LongDataType=3

   Modbus Protocol is a messaging structure developed by Modicon. It is used to establish master-slave/client-server communication between devices. Modbus has a lot of protocol options. But the two used most are Modbus RTU (Remote Terminal Unit), serial (RS-232 or RS-485) protocol or Modbus (TCP/IP) Transmission Control Protocol and Internet Protocol. What’s the difference between the two? Although the two protocols are similar, cost and speed differentiate the two. Modicon introduced the Modbus protocol to the market in 1979. Modbus RTU mode is the most common implementation, but Modbus TCP/IP is gaining ground and ready to surpass it. To move Modbus into the 21st century, an open Modbus TCP/IP specification was developed in 1999. 

       Modbus is a standard that is open and is widely-used network protocol in the industrial manufacturing environment. It's a common link that has been implemented by hundreds of vendors for integration on thousands of different manufacturing devices to transfer discrete/analog I/O and register data between control devices. A MODBUS communication is always initiated by the master node to the slave node. The slave nodes will never transmit data without receiving a request from the master node nor communicate with each other. The master node initiates only one MODBUS transaction at the same time.There are 4 types of MODBUS registers used:

The coils, starting at 00001, corresponding to on/off binary outputs, such as relays.
The input bits, starting at 10001, corresponding to binary inputs (read only).
The input registers, starting at 30001, corresponding to analog inputs (read only).
The holding registers, starting at 40001, corresponding to analog parameters which can be changed.

On the contrary, Modbus RTU mode is the most common implementation, using binary coding and CRC error-checking.  RTU Protocol is an efficient binary protocol in which each eight-bit byte in a message contains two four-bit hexadecimal characters.  Each message must be transmitted in a continuous stream. The format for each byte (11 bits) in RTU mode is:
Coding System: 8–bit binary, Bits per Byte: 1 start bit, 8 data bits, least significant bit sent first, 1 bit for parity completion, 1 stop bit.

            MODBUS RTU packets are only intended to send data; they do not have the capability to send parameters, such as point name, resolution, units, etc. Standard MODBUS RTU node addresses are 1-254, with 0 being reserved for broadcast messages and write only. MODBUS over Serial Line systems may use different physical interfaces (RS485, RS232). TIA/EIA-485 (RS485) Two-Wire interface is the most common. As an add-on option, RS485 Four-Wire  interface may also be implemented. An RS485-MODBUS configuration without repeater has one trunk cable, along which devices are connected directly (daisy chaining). The trunk cable, also named “Bus”, vary in length, however, its two ends must be connected with Line Terminations. The use of repeaters between several RS485-MODBUS is also possible. The end to end length of the trunk cable must be limited. The maximum length depends on the baud rate, the cable (Gauge, Capacitance or Characteristic Impedance), the number of loads on the daisy chain, and the network configuration (2-wire or 4-wire). The typical cable lengths for this kind of bus connection are up to 1000m, and the typical baud rate is 9600 bps. A good cable selection, at least 22 gauge, at an adequate length may be costly.

          Modbus TCP/IP is simply the Modbus RTU protocol with a TCP interface that runs on Ethernet. With Ethernet, you are combining a versatile, scalable, and worldwide physical network (Ethernet) with a universal networking standard (TCP/IP) and a vendor-neutral data representation, Modbus. This protocol gives a truly open, accessible network, which allows blocks of binary data to be exchanged between devices. It is simple to implement for any device that supports TCP/IP sockets, with a switch and cable available to each device. It remains fully compatible with the already installed Ethernet infrastructure any customer might have. Ethernet is of course, a lot faster and a bit easier to troubleshoot. However, you may not wish to use Ethernet for your Modbus communications. It may, perhaps, be too fast. TCP/IP is the common transport protocol of the Internet and is a set of layered protocols, providing a reliable data transport mechanism between machines. Ethernet has become the standard of many systems, so it comes as no surprise that it has also become one of  the standards for factory networking. As Ethernet technology has been around for years, it has matured to the point that the cost of implementing this network solution has become quite affordable. The Ethernet devices are going to be faster, but speed is not completely necessary with a lot of Modbus devices. All these level sensors, temperature sensors, flow meters and other transmitters do not need to report data very fast. It is necessary for data to be reported every few seconds. 
              Throughput is hardly a good reason to use RTU over Ethernet. The most basic difference between MODBUS RTU and MODBUS TCP/IP is that MODBUS TCP/IP runs on an Ethernet physical layer, and Modbus RTU is a serial level protocol. Modbus TCP/IP also uses a 6-byte header to allow routing. You can have a lot of issues trying to get the RS485 network to work correctly. You must deal with wire termination issues, network termination issues and more configuration issues than with Ethernet devices. But overall would you take Modbus RTU Devices over Modbus TCP? Modbus TCP/IP is simply the Modbus RTU protocol with a TCP interface that runs on Ethernet. So, if you desire data fast, and you want to come into the 21st century, then Modbus TCP/IP is the way to go.
              Protocol refers to the type of messages exchanged between the I/O server and I/O device. 
I/O devices support at least one protocol – which governs the kind of commands and data you can exchange with the device. They vary significantly in functionality and in complexity. However, because Citect SCADA supplies the protocol drivers, the engineer does not need to know the details of the protocol.  Most modern devices support two or more protocols. This gives engineers flexibility in designing appropriate communications architectures.  Occasionally the protocol is closely linked to the transport layer used – particularly in the case of proprietary protocols and communications hardware.  In many cases, a specific card or module is necessary in the I/O device to support additional protocols.

Industry Standard Protocols 
The automation and associated industries have developed a number of standardized protocols for communicating with I/O devices:
ASCII – for simple serial communications
Modbus – a widely used simple serial protocol for automation
DNP 3.0         – a protocol for distributed networks such as RTUs
BACNet – specifically for the building automation control industry
OPC – a technology for sharing automation data at the PC level
IEC870-5 – communication profile for sending basic telecontrol messages
EIB         – European installation bus
Profibus         – field bus communications protocols for automation
SNMP – widely used protocol for network devices.
    As Citect SCADA allows you to choose whatever protocol you need for the situation, you can choose to use these protocols where supported by your I/O device. This is particularly useful when you have a mix of I/O device brands but  you want to simplify and use one common protocol. These components work in unison to expose the inputs and outputs of an I/O device to a Citect SCADA system. Inputs to the I/O device provide information about your plant, such as the speed of a machine, status of a conveyor, or the temperature of an oven. Outputs from the I/O device usually initiate tasks that control the operation of your plant, such as starting electric motors, varying their speed, or switching valves and indication lamps.

Share:

Tuesday, April 30, 2019

Tipe Data

A. Pengertian Tipe Data

Tipe data biasanya digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur. Apabila kita membutuhkan tipe data yang belum tersedia, kita dapat mendefinisikan sendiri tipe data baru yang disebut enumerated type.

B.    Jenis-Jenis Tipe Data

 1.  Tipe Data Sederhana.
       Merupakan tipe data dasar yang sering dipakai oleh program, meliputi:

a.  Integer (Bilangan Bulat)
        Penggolongan tipe data integer tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan. Misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada sebagai longint(4 byte). Didalam kompilernya, Pascal menyediakan konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya didalam programnya tanpa harus terlebih dahulu mendefinisikannya. Contoh bilangan integer adalah: 34 6458 -90 0 1112.
  • Penggolongan Tipe Data Integer (Int)

Tipe data Ukuran Tempat Rentang Nilai
Byte 1 Byte 0 s/d +255
Shortint 1 Byte -28 s/d +127
Integer 2 Byte -32768 s/d 32767
Word 2 Byte 0 s/d 65535
Longint 4 Byte 2147483648 s/d 2147483647
  • Contoh program integer:  
Program display_maxint;uses wincrt;
begin writeln (maxint)
end.

Hasilnya: 32.767


b.  Real/Float (Bilangan Pecahan)

Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2.
Penggolongan Tipe Data Bilangan Real 
Tipe data Ukuran Tempat Rentang Nilai
Real 6 Byte 2.9 x 10-39 s/d 1.7 x1038
Single 4 Byte 2.9 x 10-39 s/d 1.7 x1038
Double 8 Byte 5.0 x 10-324 s/d 1.7 x10308
Extended 10 Byte 3.4 x 10-4932 s/d 1.1 x104932
Comp 8 Byte 3.4 x 10-4932 s/d 1.1 x104932

macam yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange).
Contoh : 'a' 'B' '+', dsb.  
(Yang perlu diingat bahwa dalam menuliskannya harus dengan memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori sebesar 1(satu) byte untuk masing-masing data).

c. Boolean (Logika)

Merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean,WordBool, dan LongBool. Tipe Boolean memakai memori paling kecil, sedangkan WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan Windows.
Penggolongan Tipe Data Boolean

Tipe data Ukuran Tempat
Boolean 1 Byte
WordBool 2 Byte
LonggBool 3 Byte
Contoh: Program display_bool;
uses wincrt;
begin writeln(ord(true));
writeln(ord(false));
end.
Hasilnya: 1 0 3.2.

2. Tipe Data Terstruktur

Tipe ini terdiri atas : array, record, set, dan file.
String adalah tipe data jenis array, tetapi karena string memiliki kekhasan tersendiri sebagai array dari karakter maka perlu memberikan penjelasan tersendiri. i :

a. Tipe Data String

Merupakan suatu data yang menyimpan array (larik),sebagai contoh: 'ABCDEF' merupakan sebuah konstanta string yang berisikan 6 byte karakter.Ukuran Tempat untuk tipe data ini adalah 2 s/d 256byte, dengan jumlah elemen 1 s/d 255. String dideklarasikan dengan string [ konstanta ] atau string. Bila ukuran string tidak didefinisikan maka akan banyak memakan ruang, karena ukuran string menyesuaikan dengan defaultnya.
Contoh : var kata: string [20]; atau var kata: string;
karena string merupakan array dari karakter. Maka kata[1] merupakan karakter pertama dari string, kemudian kata[2], merupakan elemen kedua, dst.

  • Contoh Program String: Program hal_string;
Uses wincrt;
var s : string;
begin s:='Hello';
writeln(s);
writeln('panjang dari string adalah: ',ord(s[0]));
end.
b. Array

Suatu array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu: variabel). Suatu array dinyatakan dengan type, sehingga variabel yang bekerja akan dinyatakan dengan:
Contoh type : Var A = array [1..10] of integer;
c. Record (Rekaman)
Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar /bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (dibanding array). 

Share:

ONLINE SHOP : PRODUK AUTOMATION

ONLINE SHOP : PRODUK AUTOMATION
________CITAYAM AUTOMATION________

Followers

View

Translate