# Aligning data types from Ignition to Kepware 6.8

**URL:** <https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002>\
**Category:** Ignition\
**Created:** [March 11, 2020, 1:21pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002 "2020-03-11T13:21:55Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 11, 2020, 1:21pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/1 "2020-03-11T13:21:55Z")

</div>

I am connecting to kepware KepServerEX 6.8 to write ignition production values for historical access. Is there a table or reference of some sort so I can make an item in Kepware be the same data type as its ignition counterpart? Or if not that, if there an abstract type I can use that will allow a write of any value?

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [March 11, 2020, 5:44pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/2 "2020-03-11T17:44:56Z")

</div>

I’m failing to understand what you are doing. Is Kepware providing tags to Ignition? Or are you exposing Ignition tags to Kepware? Either way, it seems they should already be compatible types. Got any more details?

---

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 11, 2020, 5:56pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/3 "2020-03-11T17:56:13Z")

</div>

Reading tags configured in Ignition and writing them out to an external Kepware server instance.

---

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 11, 2020, 5:57pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/4 "2020-03-11T17:57:12Z")

</div>

Essentially, I’m looking for what an int4 is equivelant to in Kepware and viceversa so I can structure my projects correctly.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 11, 2020, 7:04pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/5 "2020-03-11T19:04:20Z")

</div>

> [@lrhyrne](#):
>
> Reading tags configured in Ignition and writing them out to an external Kepware server instance.

What mechanism is going to write them out?

Ignition and Kepware both use standard data types defined by OPC-UA - they might not have 1:1 compatibility on the edge cases, but strings, integers, longs, floats, etc are all directly compatible. But, what you're asking for is still fairly vague. If you're making a connection betweeen Ignition and Kepware, you're not recreating any tags - you're literally viewing the tags from one server on the other client. The OPC-UA specification and protocol defines how those data types are sent between servers; it's not something you have to worry about the vast majority of the time.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 11, 2020, 7:06pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/6 "2020-03-11T19:06:46Z")

</div>

(Ignition = Kepware)  
Int1 = Byte  
Int2 = Short  
Int4 = Long  
Int8 = LLong  
Float = Float  
Double = Double

See this Kepware reference: [https://www.kepware.com/getattachment/1b1e7d7c-6eeb-4f8f-ad41-5d6a7bae1b64/canonical-data-types.pdf](https://www.kepware.com/getattachment/1b1e7d7c-6eeb-4f8f-ad41-5d6a7bae1b64/canonical-data-types.pdf)

Ignition’s types are signed.

---

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 11, 2020, 7:41pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/8 "2020-03-11T19:41:39Z")

</div>

I will add to the part about it not being something I need to worry about:

My process is as follows:

1. read desired Ignition tag.
2. Write value from read to the preconfigured Kepware tag.

This falls apart when the data types do not match. I initially set all my Kepware tags to be DWORDs trying to do a mass configuration all at once. Each data type from Ignition that does not match Kepware’s tag fails to write and fills us the wrapper log quite quickly…

---

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 12, 2020, 2:31pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/9 "2020-03-12T14:31:42Z")

</div>

Is there a more complete list of equivalents? I’m trying to find a more efficient way to create the kepware project that properly reflects that tags that are being written out to the KepServerEX. There is some 9000 tags needing written out, doing it 1 at a time is not really an option.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 12, 2020, 2:32pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/10 "2020-03-12T14:32:35Z")

</div>

More complete in what way? The other Ignition tag types don’t have an equivalent in Kepware AFAIK.

---

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 12, 2020, 2:38pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/11 "2020-03-12T14:38:27Z")

</div>

I just want to be able to run this script without so many failures due to nonmatching types. I’m trying to start with 90% compatibility and adjust based on errors from there. I have an Excel sheet with all the tags I want and their ia type for the tags being read. From that I need to make a kepware Device import declaring the correct data types. There are a few float4 types which don’t correspond to anything I see, possibly a Kepware double?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 12, 2020, 2:39pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/12 "2020-03-12T14:39:52Z")

</div>

Float4 is Float in Kepware. Float8 is Double in Kepware.

---

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 12, 2020, 2:41pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/13 "2020-03-12T14:41:36Z")

</div>

Thank you for that.

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [March 12, 2020, 2:52pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/14 "2020-03-12T14:52:09Z")

</div>

In your original post you mentioned historical access. Ignition has a built-in tag historian. Is there a different reason to why you are using Kepware, or are you doing something completely different? Just curious 🙂

---

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 12, 2020, 3:10pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/15 "2020-03-12T15:10:02Z")

</div>

Completely Different. Customer case where we are pushing(writing) ia values from a production system out to Kepware where the customer is reading from Kepware with an OSI PI historian which combines the rest of their plant systems…

---

<div class="post-metadata">

**Author:** ![lrhyrne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrhyrne/32/12097_2.png) [@lrhyrne](https://forum.inductiveautomation.com/u/lrhyrne)\
**Post date:** [March 12, 2020, 3:50pm UTC](https://forum.inductiveautomation.com/t/aligning-data-types-from-ignition-to-kepware-6-8/33002/16 "2020-03-12T15:50:58Z")

</div>

Any suggestions on what to do when the IA tag is of the DataSet type?
